summaryrefslogtreecommitdiff
path: root/plan
blob: 26410b34926595ad2ba75f4987b863a30f203adb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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]