summaryrefslogtreecommitdiff
path: root/plan
diff options
context:
space:
mode:
Diffstat (limited to 'plan')
-rw-r--r--plan33
1 files changed, 33 insertions, 0 deletions
diff --git a/plan b/plan
new file mode 100644
index 0000000..26410b3
--- /dev/null
+++ b/plan
@@ -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]