Re: Re: Implementing a shader API

2021-03-27 Thread Eric Bresie
Don’t suppose integrating Java OpenGL if not already done would help? https://jogamp.org/jogl/www/ They are a little dated but there are the OpenGL related JSRs like JSR 239: JavaTM Binding for the OpenGL® ES API https://www.jcp.org/en/jsr/detail?id=239 I think this was targeted at Java ME

Re: Implementing a shader API

2021-03-26 Thread Nir Lisker
Let's keep the discussion in the openjfx-disc...@openjdk.java.net list for now. I'm sending this mail on the dev list just for continuity. I'm also very clueless as to how JavaFX links D3D shaders at runtime. Can > someone give me a quick rundown on that? > The D3D shader pointers are in

Re: Implementing a shader API

2021-03-26 Thread Jacky Guo
Regarding the shader API, if an error occurs during shader compilation, should it simply default to the basic Phong shaders or throw an Exception (likely in a new package with other shader stuff)? I'm also very clueless as to how JavaFX links D3D shaders at runtime. Can someone give me a quick

Re: Implementing a shader API

2021-03-15 Thread Jacky Guo
Regarding uniform parameters (i.e. variables set from Java and called on the shader): Since OpenGL's data passing uses locations, you could simply store a map of uniform parameters (or whatever their JSL equivalent is) to their locations, and call the required methods and perform the necessary

Re: Implementing a shader API

2021-03-15 Thread Nir Lisker
I've thought about this too for a bit. My question would be how to tell the CPU what data to pass to the shader. Take OpenGL for example: writing an API to pass a shader and compiling it in runtime is not hard, but you need the CPU side to feed the shader its parameters. You would need an API for

Re: Implementing a shader API

2021-03-14 Thread Michael Ennen
I messed around with adding features to JavaFX's "JSLC" (Java Shader Language Compiler) which currently is only used at compile-time for JavaFX to convert "JSL" shaders to various platform dependent shader languages (GLSL, HLSL, etc.). In my opinion the ideal way to implement a public shader API