1
我正在使用頂點和GL_LINES的VBO在opengl中繪製3D球形網格。我想達到的目標是讓一條線 - 天頂線比其他線更亮。OpenGL 440 - 控制frag中的線條粗細。
我明明商店X,Y,Z COORDS和法線,那麼我還不能夠使用,其中在創建紋理座標「標籤」的位置 - y座標爲0,像這樣:
if (round(y) == 0.0f){
_varray[nr].tex[0] = -1.0; // setting the s variable (s,t texcoord),
// passed in with vbo
}
現在在片段着色器我收到此值,並做到:
if(vs_st[0] == -1){
diffuse = gridColor*2.f;
}else{
diffuse = gridColor;
}
而且結果看起來有點可怕: Print Screen
我意識到這可能是因爲片段着色器不得不在兩點之間進行插值,你們能否想出一個確定天頂線並使其更明亮的好方法?我寧願避免使用幾何着色器...
在您的片段着色器中,請嘗試執行if(vs_st [0]> 0.5)'。 – 2014-09-18 17:50:29
@ColonelThirtyTwo - 如果球體在任何時候都處於原始位置,那麼它就可以工作 - 我旋轉它,然後我該怎麼辦? – mike 2014-09-18 19:29:48