You are browsing as a guest. Sign up (or log in) to start making projects!

39m 49s logged

I wrote a giant list on what I want to implement into this framework to make it full. I’m pretty sure I’ll be done in about 150-200 hours, which I have about 40 days to make before the end of this thing. That is 3.75 - 5 hours of coding in a day. Anyway, here’s the list:

TODO FEATURES:

  • lighting
    • gpu scene data uniform buffer
    • ambient light
    • directional light
    • point lights
    • tangent space normal mapping
    • tangent generation in gltf loading
    • dynamic light count
    • proper api for handling lights
  • shadow mapping
    • depth-only pipeline
    • shadow map image
    • light space matrix
    • shadow pass
    • shadow sampling in the main fragment shader
    • shadow bias
    • PCF filtering
  • material system
    • material struct (albedo map, normal map, roughness map, emissive map, scalar tint and roughness and metallic factors)
    • material descriptor layout
    • default fallback textures
    • gltf material loading
    • draw_mesh api update
    • emissive support in the shader
    • creating and destroying materials for user-made materials
  • mipmaps and proper sample management
    • mipmap generation on upload
    • mip count calculation
    • sampler cache (so samplers are never duplicated)
  • instanced rendering
    • per-instance storage buffer
    • draw_mesh_instanced api
    • write the shader for it (gl_InstanceIndex)
    • move to indirect drawing so the instance count can eventually come from gpu-side data
  • skybox
    • cubemap loading
    • skybox pipeline
    • skybox shader
    • set_skybox api
  • frustrum culling
    • bounding sphere per mesh (compute in loading by finding the disctance from the centroid across all vectires)
    • frustrum plane extraction (gribb-hartmann)
    • cull loop
    • stats readout
  • post processing stack
    • fullscreen traingle pipeline
    • HDR tonemapping
    • guassian blur api
    • box blur api
    • bloom
    • vignette
  • 2D rendering
    • quad mesh
    • 2D pipeline
    • surface class
    • default surface
    • draw_surface
    • draw_rect
    • font atlas rendering
  • MSAA
    • multisample draw image
    • resolve attachment
    • configurable sample count
0
2

Comments 0

No comments yet. Be the first!