5
$\begingroup$

I am familiar with the basic concepts of writing vector and fragment shaders while using linear transformation matrices to describe orientations in 3D space.

But, what other paradigms exist (theoretical or not)?

$\endgroup$
4
$\begingroup$

Several other rendering paradigms exist aside from conventional rasterization of triangles using vertex and fragment shaders.

  • Ray tracing works by intersecting light rays with surfaces (triangle meshes, or more general surfaces: anything that can be tested for intersection) and then firing additional rays to gather information about lighting, shadows, reflections, etc at the intersection point. Path tracing and photon mapping are refinements of this concept.
  • REYES rendering subdivides all primitives into micropolygons the size of a single pixel or smaller, calculates lighting and shading per micropolygon vertex, then uses a specialized rasterizing algorithm to render the micropolygons in screen space with motion blur and depth of field.
  • Distance field ray-marching (also called sphere tracing) represents all primitives in terms of distance fields: 3D functions and/or volumetric textures that give the distance from any given point to the nearest surface in any direction. The distance field is used to step adaptively along a ray until it hits a surface, and can also be used for lighting effects such as ambient occlusion.

However, all rendering algorithms use linear transformation matrices. That's not part of the "paradigm" so much as it's the basic machinery for manipulating objects, the camera, etc in 3D space. It would be hard to do anything interesting without it.

$\endgroup$
  • 2
    $\begingroup$ Well you could live without the matrices but it would be hideously complex and wasteful. Many people who did not understand matrices attempt this regularily in stackoverflow but either end up reimplementing matrices without knowing it or ending with huge problems. $\endgroup$ – joojaa Aug 28 '16 at 6:55
  • $\begingroup$ I heard of an alternative algebra before that does not use linear transformations, but some other theory. I can't remember what it is or any of the keywords so I don't know what to search for, so I am hoping someone might mention it here. The things you mentioned all seem to build on top of linear algebra, but I believe there are other techniques to build from. $\endgroup$ – trusktr Aug 28 '16 at 18:49
  • $\begingroup$ @tru There are additional algebras such as geometric algebra that supplement linear algebra with additional concepts, but I'm not aware of anything that replaces linear algebra and fulfills the same purposes. $\endgroup$ – Nathan Reed Aug 28 '16 at 19:03
  • $\begingroup$ @NathanReed Thanks for the link! That might possibly be what it was. I really dislike all that symbolic mathematical jargon though. I'd much love to see it expressed with code, so I'll search for that. Thanks! $\endgroup$ – trusktr Aug 28 '16 at 20:01
  • 1
    $\begingroup$ @PaulHK I mentioned that under raytracing $\endgroup$ – Nathan Reed Aug 29 '16 at 3:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.