OneLoneCoder / Javidx9

The official distribution of Javidx9's YouTube videos and projects
http://www.youtube.com/javidx9
Other
2.13k stars 1.29k forks source link

mode7 case study (webgl shader implementation struggles) #88

Open meisei4 opened 1 hour ago

meisei4 commented 1 hour ago

Sorry if this is an inappropriate place to post this, but I have been working these last two weeks pulling out my hair with how to make an educational mode7 approach for webgl shaders (specifically with the Bevy game engine)

I am posting this immaturely perhaps, but I really am desperate for help on understanding the frustum/projection approach you take in your mode 7 demo as opposed to the "affine transformation" approach...

If its convenient for you I would really appreciate any input about what I'm doing wrong in my shader math...

I will post the contents in a reply to this issue

meisei4 commented 1 hour ago

GOAL: My goal is to achieve an educational implementation of Mode 7 SITUATION: I have hacked together a fragment shader based on some tutorials I found on youtube: C++ and PYTHON CODE:

EXAMPLE VIDEOS ATTACHED: first_video : 2024-10-13_17.23.30.webm

second_video: 2024-10-13_17.28.39.webm

I feel like I am completely missing something fundamental in how I am doing it.

meisei4 commented 1 hour ago

https://github.com/meisei4/yakuzaishi/blob/master/assets/shaders/mode7.cpp

^^Also here is a Work In Progress pseudo-code project file that I am working on (un-compilable c++... I'm not well versed in c++ so i took liberties in re-stylizing) where the purpose is to take your Pseudo3DPlanesMode7 example and rework it stylistically to involve much more explicit Matrix operations...

My goal with this being that I can provide a VERBOSE and educational example of how to "long-hand" represent how matrices are involved in mode7, even if they are just overhead when it comes to actual code/math-operations.

Similar to the stylistic approach I have transitioned to in my webgl shader:

https://github.com/meisei4/yakuzaishi/blob/master/assets/shaders/mode7.wgsl