4 ms·
having worked on and written x of this class of thing over the years this made an interesting browse and read, but i've not been inspired to anything new by it
by jheriko 10y ago
having worked on and written x of this class of thing over the years this made an interesting browse and read, but i've not been inspired to anything new by it sadly... and i wouldn't have a use for it in practice.
it seems a bit of shame this has the 'opengl is a target' and 'inline #ifdef for platform dependency' mentality given the following and the prolific efforts on it. the combination of the two will make it hard to make more generic... e.g. to target any graphics API in the future.
the level of abstraction is also missing to make that even easier... futureproof OO design is about abstracting the concepts generically. most of the classes here are very opengl centric... sure it can't be made 100% futureproof, but you can make something that becomes easy to port until we stop using triangle meshes (and actually... with a bit more thought even that isn't such a restriction that it needs baking utterly into the design at every level)
- p0nce 10y agoThese days bgfx solves this problem. Why run around when you can target all graphics APIs at once.
- psranga 10y agoActually, I'm happy to see that this author didn't give into the temptation of making a "one ring that rules them all" abstract design. OpenGL is a C API. This adds a decent C++ API around it. Seems to be a decent effort.
- n00b101 10y ago> until we stop using triangle meshes Is this a realistic possibility? What would we use instead?
- Kristine1975 10y agoRaytracing or raymarching. Not sure if there are any games that use it, but raymarching is often used in the demo scene, for example here: http://www.pouet.net/prod.php?which=67433 http://www.pouet.net/prod.php?which=67433
- pixel_fcker 10y agoUmm ray tracing is still triangles.
- Kristine1975 10y agoOnly if you use triangles to represent your scene. The (non-realtime) raytracer POV-Ray for example supports several other geometric shapes as an alternative: https://en.wikipedia.org/wiki/POV-Ray#Primitives https://en.wikipedia.org/wiki/POV-Ray#Primitives Voxels would be another possibility.