diff options
author | knolax <1339802534.kk@gmail.com> | 2017-03-10 11:31:48 -0500 |
---|---|---|
committer | knolax <1339802534.kk@gmail.com> | 2017-03-10 11:31:48 -0500 |
commit | a8b8bf1d5e08f56d0f71536889b691335435adfe (patch) | |
tree | 1f91b891c8283b02c233df658ae96717f7ab6cd1 /plan | |
parent | 21f3329340ccd9a8c42335f84b34d3f7e4a2e99a (diff) |
added magic code for second shader, prepared to be for shadow rendering, added roadmap
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] |