Author Topic: Graphics...  (Read 1687 times)

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,887
  • Make it so.
    • View Profile
    • My Website
Graphics...
« on: 7 March 2012, 06:59:48 »
Guys, I'm unloading ideas I picked up while playing, and ideas from my Crysis experiences. Guys please feel free to post your ideas on how to improve the graphics of MegaGlest! I will add them to the FP list! :D

Rating System: 1-5     1=low overall improvement     5=high overall improvement

Optimizations/Enhancements:
4-Polygonal   LoD System(check ideas...)
2-Polygonal   Efficient Object Drawing-Draw objects based on whether their geometry and shadow are visible, not by a defined radius. This would stop object/shadow popping.

4-Shadows    Shadow Map drawn from camera-So if you zoom in it only uses the shadow map on the objects with visible shadows, thus much sharper shadows up close. If you zoom out, the shadow map draws shadows for the whole screen at 512*512(or whatever setting), thus you still see shadows, the performance is good, and from that distance it looks fine. Instead of what we have now where it's all blurry up close, and the shadows go away if you zoom out far enough.



New Features:
5-Shading      Normal Mapping
3-Shading      Specular Mapping(a glossy, or specular concentration parameter is needed)
3-Shading      Glow Mapping-An RGB texture used to map bloom onto a model.
2-Shading      Cheap Terrain Ambient Occlusion-Slightly darken lower areas/the backsides of hills when shadowed. This will generate more Terrain Depth. Think of it as per-shadow-depth-occlusion.

5-Lighting      Dynamic Lighting
4-Lighting      Light Placement-Ability to place lights on units, tileset objects, and vertices(Have the light spawn itself at a specific vertice, good for torches).
3-Lighting      Bloom-Glows, drawn on top of the scene, generated by either an XML specification, a glow map, or a high specular flare(light reflected at the camera by specular mapping).

4-Particles     Real Soft Particles-Meaning Z-buffer calculations to make particles appear much more 3D.
4-Particles     Fake Soft Particles-A cheaper alternative to Real Soft Particles. Fade the particle out slightly around areas of collision to avoid hard edges. Generating bloom on the visible parts of the particle would increase the 3D feel.
3-Particles     Orient to Velocity-Would be great for sparks!
3-Particles     Basic Particle Terrain Collision-Something XML defined that freezes the particle just above the terrain. This will create the illusion of particle impact. Useful for lots of things.
3-Particles     Rotation(Defined/RandomDefined)-A setting that defines the rotation or the maximum random rotation speed. Rotation would freeze on particle impacts. Also an option for oriented by gravity or object is needed.

4-Shadows    Soft Shadowing-Blur and smooth the edges of shadows, fade pixels as they appear and disappear.



Ideas:
LoD            LoD through automatic sprites-When the camera gets a certain distance out, possibly automatically varied by a high or low framerate. Higher the fps the farther out it transitions. Lower fps the closer. The computer would take a generated sprite of each model from the current view, and just place it in the proper place each frame. It would warp the image some to suggest it's still 3D, and would generate new sprites as needed. All transistions, between model and sprite, between sprite and new sprite, should be faded in and out nicely. The idea is to have higher frame-rates farther out and minimal LoD popping. This would generate a large performance jump for distant models, and could be toggle-able(default to on) on top of a LoD system that uses different versions of models. This method would be used for static objects only. To correct for drawing errors(such as pure white or black pixels), there should be a 1x anti-aliasing field over all the sprites, blending all the colors into incorrect pixels to hide artifacts. There are multiple other things you could do to this idea to optimize it further, should this ever be realistically explored I'll break out all my ideas for it.



Other:
Particles      A Particle Editor. As particles get more and more complex, the desire for a realtime particle editor will increase.



I have more ideas still, should you guys wish to explore implementing some of these, please open a new topic so we can discuss it in detail. :)
Psst: Water graphics anyone? :D
« Last Edit: 8 March 2012, 00:55:42 by -Archmage- »
Egypt Remastered!

Proof: Owner of glest@mail.com