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

had a solid plan
started small and iterated





consts so we can resize our pretend pixels easier

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
