Hi there,
I'm kind of new to 3D graphics in general and JME in special (just playing around a bit with JME2.0). However I always found the topic fascinating and even if this is my first post in this forum, I have been an interested reader for months.
I have some feature "requests" for JME3.0 (propositions, that is), is this the right place to post them?
Mainly, it's stuff I read in "GPUA “Graphics Processing Unit” is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. gems"
1. z-only-Pass
First rendering only the z-Buffer with all material (= shaders) turned off and then doing a second pass with material is supposed to save a lot of shader time because the fragment shader runs only for actually visible pixels. This will be especially true for scenes with 1. GPUA “Graphics Processing Unit” is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles.-intensive shaders and 2. high depth complexity.
Having a property to turn this behaviour just on/off in the engine would be nice.
2. Hardware occlusion culling
Another one from "GPUA “Graphics Processing Unit” is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. gems". Support for this ARB_… feature could be automatically detected by the engine and hardware culling be used to reduce the overdraw in scenes with high depth complexity.
3. Automated striping of meshes
I'm unaware of as to which degree JME already supports this one: I understand that rendering TRIANGLE_STRIPEs is much more efficient than rendering lists of fully qualified triangles. If a mesh doesn't provide striping information, this information should be automatically deduced (e.g. at load time) and the mesh subsequently be rendered as stripes.