Angle Found


This "game" is mostly a personal project where I set out to learn about graphics pipelines and rasterization. See below for the online learning resources I used. 


Credits:
vazor - code

Lessons learned:
solidified my understanding of perspective matrices
got through most of the Vulkan tutorial
learned what swap chain extents are
learned how VR rendering is done, with layers in imageviews
learned about edge functions vs ray tracing rasterization

What went well:
had a solid plan
started small and iterated



To do:

consts so we can resize our pretend pixels easier - done
hmm non-square ratios make it act weird...
width 100, halfwidth 50
x = 0
50+0
50*100
5000/100
50th pixel from the left
y = -50
-50 + 200
150th pixel from the top


triangle strip


3-d perspective


mesh









https://vulkan-tutorial.com/Introduction


perspective matrix!

http://www.codinglabs.net/article_world_view_projection_matrix.aspx
https://www.youtube.com/watch?v=jeO_ytN_0kk
https://www.youtube.com/watch?v=dul0mui292Q

near -1
far -10
left -1
right 1
top -1
bottom 1
FOVx 90
FOVy 73.74

w = -near

x,y,z,1 -> multiply by perspective matrix -> x,y,z,w
reduce to 3 dimensions by dividing everything by w (and make w = -z by using -1 in the perspective matrix in the w,z spot)
x/w,y/w,z/w,w/w
drop the z/w (or use it for z-ordering)
final screen coordinates: x/-w,y/-w

-.5,-.5,-.1
.5,-.5,-8
.5,.5,-8
-.5,.5,-.1

v1_x = v_x * 1.548   + v_y * 0       + v_z * 0      + v_w * 0
V1_y = v_x * 0       + v_y * 1.5437  + v_Z * 0      + v_w * 0
V1_z = v_x * 0       + v_y * 0       + v_z * -1.222 + v_w * 2.222
V1_w = v_x * 0       + v_y * 0       + v_z * -1      + v_w * 0

-.5*1.548
-.5*1.5437
-.1*-1.222+2.222

left side closer than near plane:
-7.74, -7.7185, 23.442
0.09675,-0.0964813,1.49975
0.09675,0.0964813,1.49975
-7.74, 7.7185, 23.442

right side far away (left wall):
-0.387,-0.385925,2.333
0.09675,-0.0964813,1.49975
0.09675,0.0964813,1.49975
-0.387,0.385925,2.333

bottom away:
-0.387,-0.385925,2.333
0.387,-0.385925,2.333
0.258,0.257283,1.96267
-0.258,0.257283,1.96267
