diff options
Diffstat (limited to 'plan')
-rw-r--r-- | plan | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -0,0 +1,33 @@ +the plan +-regular draw shader program[0] +-geometry sahder, expand geometry to add polygons that smooth out curves[0.0] +-vertex shader, move to world and camera space, pass world space to shader[0.1] X +-load texture and elevation data[2] X +-fragment shader, process elevation mad to adjust the fragment position in world space,[0.3] X +-and change the normal based on vector of where y+ on the texture is and the polygon normal[0.4] +-use reflection of light across normal, and angle of that from camera to do reflect lighting[0.5] X +-use angle of normal from angle of light to do diffuse lighting[6] X + +lighting[1] +-decrease light itensity as log of max distance[1.0] X +-colored lighting[1.1] X +-when below a percentage of max distance, lets say 5%, will use an array or constant set of 16 world space coordinates, each acting as 1/16 if the light intensity. [1.3] + +Shadows[2] +-create second shader program[2.0] X +-use geometry shader to draw shadow "box" that radiates away from light source, ending at light source limit + some buffer constant[2.1] +-since they should not overlap, we do not have to owrry about shadow boxes in boxs, therefore all boxes should be backpolygon frontpolygon, have two 8 bit buffers, with highest bit being xor'd with 1 every time. starting as 0, it it ends up 1, draw solid shadow[2.2] +-create a new render buffer buffers, for all pixels where the original buffer was 1, draw based on depth buffer of original render buffer, write z level and dist from polygon(generated in geometry) of highest backpoly up below depth and lowest frontpoly above depth, compare with z level of original buffer to generate compiste distance, shade darkness accordingly[2.3] +particles[3] +-draw random particles, point or triangle, near light sources, or based on world coordinate make a static particle with geometry shader[3.0] + +non opaque objects[4] +-draw opaque and non opaque objects when drawing shadows, then draw opaque objects, draw non opaque objects this does not apply shadows to non opaque objects [4.0]. +-draw opaque objects into buffer[4.1] +-then for every non opaque object, draw based on depth buffer of that, apply shadows and draw over,in order of distance from camera[4.2] +-based on normal from camera and index of refraction, shift linearly in a simple fashion from previous buffer with non opaques[4.3] + +misc[5] +-re do box[5.0] +-do circle, full poly if geometry not implemented[5.1] +-added gfx textures[5.2] and coresponding backlight[5.2] |