GLSL-#330から#130へのシェーダーの書き換え
私は最近、ジオメトリシェーダーを使用してポイントをテクスチャ付きの三角形/カリングに変換するゲーム(LD21)を作成しました。#330のサポートが広く普及している印象を受けたので、#330シェーダーのみを作成しましたが、それほど古いハードウェアの多くは#130のみをサポートしているようです(GLViewによると)。 今、私は#330のコア機能に慣れているだけなので、シェーダーを#130に書き換えるのに苦労しています。フラグメントシェーダーを書き換えるのは非常に簡単でしたが、頂点シェーダーとジオメトリシェーダーを#150まで下げることができました。 それで、シェーダーを書き換えることは可能ですか、それとも私のレンダリングエンジンで多くの変更が必要になるでしょうか? ジオメトリシェーダー #version 150 layout(points) in; layout(triangle_strip, max_vertices = 4) out; uniform mat4 oMatrix; in VertexData { vec4 position; vec4 texcoord; vec4 size; } vert; out vec2 gTexCoord; void main() { if(vert.position.x>-4f && vert.position.x<4f && vert.position.y>-2f && vert.position.y<2f) { gTexCoord=vec2(vert.texcoord.z,vert.texcoord.y); gl_Position = vert.position + vec4(vert.size.x,vert.size.y,0,0); EmitVertex(); gTexCoord=vec2(vert.texcoord.x,vert.texcoord.y); gl_Position …