phogbinh / cg

MIT License
0 stars 0 forks source link

project follows opengl convention? #4

Open phogbinh opened 2 years ago

phogbinh commented 2 years ago

20220420 如果以 opengl 的 z-coordinate convention 來看的話,project 裡面預設的 nearClip = 0.001 和 farClip = 100.0 是從 origin 往 camera 去幹的 然後 opengl 的 gluLookAt 的 near 跟 far 是剛好加個負號 另外我把 perspective 以及 orthogonal 的 project_matrix 改成 opengl 的就可以看到東西了 (例如 orthogonal 的 project_matrix 就差一個負號

resolutions? -把全部改成 opengl 的 api 的 implementation 避免以後發生錯誤的風險 -保留目前狀況 也就是 view_matrix 不用改用 opengl 的 -把 nearClip 以及 farClip 改成老師的 convention -any other methods?

phogbinh commented 2 years ago

Viewing Transformation Comparison

Professor

viewmatrix_professor

gluLookAt

viewmatrix_glulookat

Template

template

phogbinh commented 2 years ago

Viewing Transformation Comparison - Window Size 600x600

Professor

viewmatrix_professor_600x600

gluLookAt

viewmatrix_gluLookAt_600x600

phogbinh commented 2 years ago

Viewing Transformation Comparison - Fixed Perspective

把 fovy 轉 radians 以後的效果

Professor

viewmatrix_professor_fixedperspective

gluLookAt

viewmatrix_glulookat_fixedperspective

phogbinh commented 2 years ago

gluLookAt Normalized

hsy 提醒我全部東西要 normalized 我就想起來老師投影片有一個不是 normalized 過的 的確是因為這個原因而導致我的東西看起來怪怪的 =D 這個結果是我在 debug-issue-4-view 的 branch 做的(還沒 fixed perspective image

phogbinh commented 2 years ago

Viewing Transformation - Professor - Set View Center x-Coordinate 改成 gluLookAt 的就沒問題~ why?

phogbinh commented 2 years ago

Viewing Transformation - gluLookAt Professor - Set Camera Up z-Coordinate 老師投影片的 gluLookAt 還是有問題 我在想是不是因為我的 up vector 被 normalized 過然後拿來計算 firstRow 這樣誤差累加 造成 cumulative error any other possibilities?

後來直接用 opengl 官方的 implementation 就可以了 https://www.khronos.org/opengl/wiki/GluLookAt_code

phogbinh commented 2 years ago

20220427 上課問了老師才知道他投影片的 p1p3 是 up vector 而不是 up vector - eye vector =D