User:Icecode
Jump to navigation
Jump to search
Mainly interested in the rendering side of things in FlightGear. Currently working on the Compositor, the HDR Pipeline and miscellaneous effects/shaders.
Core profile clean-up
- Remove unnecessary includes
- osg/AlphaFunc
- osg/Material
- osg/ShadeModel
- osg/TexEnv
- osg/TexEnvCombine
- osg/TexGen
- Search for all instances of fixed-function pipeline usage in SG and FG
- GL_FOG
- GL_LIGHT
- GL_LIGHTING
- Search for all instances of osg::StateSet in SG and FG
- Remove the one in SGPickAnimation
- Do we need to apply an effect instead of manually creating the stateset?
- Are we assigning any fixed-pipeline state to the stateset?
- Remove hardcoded redout effect by deleting $FG_SRC/Scenery/redout.cxx/hxx
- Clean renderer.cxx from useless stuff: specular highlights, horizon effect, fog, etc.
- Clean Effects from fixed-pipeline attributes
- alpha-test
- lighting
- material
- shade-model
- TexEnv and TexGen
- See list of attributes here
- Remove redundant stateset stuff in Compositor (mainly CompositorPass). Use effects for that.
- EffectGeodes have setMaterial. Probably no longer needed.
- What to do with default materials from AC3D?
- Decrease near plane distance to 0.001, increase far plane distance to a huge value like 1000km (logarithmic depth allows us to do so)
- Remove all legacy Effects (model-combined, etc.) and their respective HDR implementations
- Remove TexMat and make the texture animations an uniform update callback
- Formalize the GLSL version through an env variable in DisplaySettings (setValue). $FG_GLSL_VERSION on every GLSL shader gets replaced by the actual version string
- Update READMEs, namely osgtext, hud, effects. Maybe add a compositor README?
- Check if we still need the ATI viewport hack
- Revisit the Canvas placement code. Do we need the replacing by texture name anymore?
- Node masks and cull masks are a complete mess. Derive a proper scheme and apply it everywhere. (Will greping for "setNodeMask" be enough?)
Post core profile checklist
- Check if some Effects need porting from ALS
- bowwave
- birdswarm
- Terrain related ones (agriculture, airfield)
- Port marker pin Effect (probably inheriting from model-pbr).
Classic renderer (non-ALS)
- Are we going to keep very low quality shaders that use fixed-function pipeline attributes?
- What do we do with FGLight and others. C++ code that used to calculate colors and shading. Nowadays this is all done in shaders. Do we keep it?
The menubar is quite organized except for the View and Debug ones.
View
- Move CompositeViewer menu entries to a separate menu, probably in Debug
- VR Options stays
- Stereoscopic View Options. This is probably broken. Check just in case
- Earthview orbital rendering stays?
- Instant Replay stays
- Toggle Glide Slope Tunnel... what to do with this one?
- Adjust HUD properties. Default HUD is going away. Canvas replacement, where to place its options?
- Adjust View Position stays
- Adjust LOD Ranges stays
- Cockpit View Options stays
- Rendering Options is the one that's going to require the most amount of work
- Toggle Fullscreen should go inside Rendering Options, together with other miscellaneous video options