yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


tips:glsl:start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
tips:glsl:start [2021/10/31 08:29] – [ビルトイン関数] yuuhotips:glsl:start [2022/01/24 01:00] (現在) – [ビルトイン関数] yuuho
行 65: 行 65:
 | ''max'' |  | | ''max'' |  |
  
 +その他 [[https://qiita.com/edo_m18/items/71f6064f3355be7e4f45]]
  
  
 **webgl2 context** **webgl2 context**
-  * ''uniformMatrix3( pointer, transpose, matrix )''+  * ''uniformMatrix3( pointer, transpose, matrix )''\\ transpose で送信時に行列を転置できる。 
 + 
 +==== 未整理メモ ==== 
 +  * WebGL2RenderingContext は WebGLRenderingContext のすべてのメソッドを持っている 
 +  * ''gl.TRIANGLES'' は IBO を使って表示する。 
 +  * ''gl.TRIANGLE_STRIP'' は (1,2,3), (2,3,4), (3,4,5) ... という感じですべての連続する三点を使う三角形を描画する。 
 +  * ''gl_Position'' で -1,+1 の範囲にある三角形が見える  
 +    * 三角形のどこかの頂点がはみ出していても、三角形全体がなくなるわけではなくて、台形みたいに表示される。 
 +    * -1 が手前、 +1 が奥というかたちで depth 判定される。 
 + 
 +  * OpenGL は右手座標系という話が巷では流れているが、クリッピング座標系は左手系なので最初から左手座標系で考えると良い。右手と言われているのは、古の OpenGL で用意されていた行列とかが右手系用のものが多かったから? 
 +    * ''gl.enable(gl.CULL_FACE)'' デフォルトでは、この左手系で反時計周りな三角形が描画される。 
 + 
 +  * →x ↑y 
 + 
 +  * 射影行列の z は正確に線形変換するわけではなくて、大小関係(前後関係)さえ保存されていれば良いので、 1/z のパラメータとして表現される。 
 +    * {{:tips:glsl:projection.png?600}} 
 + 
 + 
 +=== TRIANGLES STRIP の仕組み === 
 +^ type ^ face index ^ vertex index ^^^ 
 +| **0**,1,2 | F0 |  **V0**  |    V1    |  V2  | 
 +| 1,**0**,2 | F1 |    V2    |  **V1**  |  V3  | 
 +| **0**,1,2 | F2 |  **V2**  |    V3    |  V4  | 
 +| 1,**0**,2 | F3 |    V4    |  **V3**  |  V5  | 
 +| **0**,1,2 | F4 |  **V4**  |    V5    |  V6  | 
 +| 1,**0**,2 | F5 |    V6    |  **V5**  |  V7  | 
 +| **0**,1,2 | F6 |  **V6**  |    V7    |  V8  | 
 +| 1,**0**,2 | F7 |    V8    |  **V7**  |  V9  | 
 +| ... ||||| 
 + 
 +うまく一回の strip 呼び出しで描画できなさそうなときは半時計回りの三角形を挟んで無かったことにする? 
 + 
  
tips/glsl/start.1635668987.txt.gz · 最終更新: 2021/10/31 08:29 by yuuho