Yours is just based on an arbitrary ideological subjective view of what you consider a “hack”, and what counts as “clean and hardcoded geometry” And has no place or use in this discussion. But that’s not the point that you are making. There is no sensible reason to oppose the addition of this technology, besides that the devs have more important things to focus on, which is a valid point. Both places where blender is used a lot in, where this will help a lot of blender users. It has nothing to do with it being a “hack”īut I know a few perfect places for it: WYSIWYG prototyping and amateur (low resource) animation production. And if there is no time constraint on rendering, there are more advanced solutions, like micro-displacement. The only reason POM hasn’t found it’s place, is because it’s a just little too resource intensive for real-time games, so they stick with less realistic normal maps. Your arguments hang together with inconsistent logic. POM is just another technique in a long list of techniques that helps you trick your brain to into the believe that it’s observing a world made of physical matter.īSDF is a visual hack, PBR is a visual hack, Ray Tracing is a visual hack, normal mapping is a visual hack. Either you call all 3D rendering techniques “visual hacks” (since they all are) or you call none of them that. Why do you keep referring to POM as a “visual hack” as if all the other things are not “visual hacks” by literally the same logic. This penalty can be reduced by using properly-tuned LODs besides saving on vertex shader processing, they can also greatly reduce overshading by having triangles cover more of each quad on average." not deferred) renderers that do all lighting and shading in a single pass in the pixel shader. That wasted time can really add up, and is particularly painful for forward (ie. This means that if a triangle only touches a single pixel of a quad (because the triangle is tiny or very thin), the GPU still processes the whole quad and just throws away the other three pixels, wasting 75% of the work. It’s done like this so the hardware can do things like comparing UVs between pixels to calculate appropriate mipmap levels. Overshading is a consequence of how GPUs process pixels during pixel shading: not one at a time, but instead in ‘ quads’ which are blocks of four pixels arranged in a 2x2 pattern. " A close relative of overdraw is overshading, which is caused by tiny or thin triangles and can really hurt performance by wasting a significant portion of the GPU’s time. It is a hardware limitation, GPUs do not like tiny polygons, it doesn’t matter how those tiny polygons are created. It doesn’t matter if it’s adaptive or not. However we will have to look at more advanced adaptive subdivision techniques. GitHub - sp4cerat/Planet-LOD: Planet Rendering: Adaptive Spherical Level of Detail based on Triangle Subdivision So kinda the point here is that what if we skip POM entirely and go for something better. Something wrong with Depth/Parallax Mapping in Spatial Material In game engines since they have only GLSL shader code you are free to throw a shader in and get the result you want, however in Blender lots of other factors play a role, such as Cycles/EEVEE | CPU/GPU | GLSL/Metal/Vulkan which makes the process much more complex. POM is great however as it looks so far, the problem is that the implementation was very difficult and still postponed. Indeed you are not restricted to think only about how to calculate normals for triangles, but go directly to the interesting raytracing techniques at once (normal+lightbounce+etc…). Unless for example you want to lock the code design into some specific technique then you follow these principles by intent. Yet as far as I know that’s the best we got for now.Īs for example if you write shader code, the boundaries between raytracing/volumetric/polygon all blend together (all techniques and principles can be or can’t be the same technique).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |