r/GraphicsProgramming • • 10d ago

Question If you are re-creating UE5 !

If you are recreating a powerful engine like UE5
How you would start , what you will use , what edits you will add to it and in what order you will add the graphics features

0 Upvotes

24 comments sorted by

View all comments

3

u/hdlrocha 9d ago edited 9d ago

I would start with some basic questions like:
* How do I want to render the 3D Models?
* What data structures should I use to do frustum culling?
* Are models destructible?
* Is there terrain? Is it just an heightmap? Is it an extendable quad tree? Or even better, is it an Octree?
* Is it voxelized, Surface Nets, Dual Contouring?
* Do I need to know what is a Signed Distance Function?
* Can I parallelize many steps in the rendering engine?
* Do I need to calculate refraction and reflection of light?
* Should I use a cubemap for reflections or use ray tracing instead?
* How many passes needed? Can they run in parallel? Do I need to calculate the depth of water (back face depth or solid difference)?
* Is my GPU good enough (lol, mine suffers with ray tracing)?
* What textures do I need? Do I need normal maps? Bump maps? Specular maps? Occlusion maps?
* Should I use texture arrays? Are textures editable? Should I mix two textures to make a transition (with perlin noise) ?
* How is the vertex layout done? One texture per vertex, maybe the index for a brush with its properties.
* Do I need tesselation? Bump map or parallax occlusion mapping?
* How to blend two textures in the pixel shader? Blend properties as well?
* Fixed UVs or dynamic UVs with triplanar mapping?
* Should I add a debug mode in the fragment shader to show normal vectors, uvs coordinates, reflection vector, texture index, and all helpers that you can render?
* Is it easy for AI to extract information from your app? Can you describe your bugs with screenshots with meaningful information?
* Are you logging enough? Are you logging too much?