在OpenGL中繪製虛線我可以使用glLineStipple,但是如何在OpenGL ES 1中實現相同的效果?如何使用OpenGL ES 1繪製虛線?
4
A
回答
8
線條可以紋理化,就像三角形一樣。啓用alpha測試,應用alpha紋理,設置一些紋理座標並欣賞。
-5
glPushAttrib(GL_ENABLE_BIT);
# glPushAttrib is done to return everything to normal after drawing
glLineStipple(1, 0xAAAA); # [1]
glEnable(GL_LINE_STIPPLE);
glBegin(GL_LINES);
glVertex3f(-.5,.5,-.5);
glVertex3f(.5,.5,-.5);
glEnd();
glPopAttrib();
+0
OpenGL * ES *不支持大部分代碼。 – 2011-03-27 05:05:18
+0
這看起來像是複製粘貼的一段代碼,也許來自http://3dengine.org/Drawing_dotted_lines_%28OpenGL%29 – najjarammar 2015-01-28 21:48:24
1
其實我已經實現了點線或使用for循環中的虛線,但它仍然讓非必要使用它作爲一個線型鏈接的繪製方法,這裏是我的寵愛行的代碼和虛線下面行: 點線:
(void)drawVerticalDotedInternalGrid{
float a,b;
int drawCount =0;
GLfloat dotedInternalGrid[1296];
for (a = -0.5f; a <= 0.5f; a +=0.5f) {
for (b = -0.875f; b <=0.925f; b += 0.025f)
{
dotedInternalGrid[drawCount] = b;
drawCount++;
dotedInternalGrid[drawCount] = a;
drawCount++;
};
};
glPointSize(1.0f);
glColor4f(0.863f,0.863f,0.863f,0.8f); //line color
glVertexPointer(2, GL_FLOAT, 0, dotedInternalGrid);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_POINTS, 0, 648);
glDisableClientState(GL_VERTEX_ARRAY);
}
虛線:
(void)drawVerticalDashedInternalGridH{
GLfloat dashedLine[1296];
float a,b;
int i =0;
//-0.4----0.4 // -0.875----0.900
for (a = -0.4f; a <= 0.4f; a +=0.1f) {
for (b =-0.825f; b <=0.950f; b+=0.025f) {
dashedLine[i] = b;
i++;
dashedLine[i] = a;
i++;
};
};
//glLineWidth(1.0f);
glColor4f(0.863f,0.863f,0.863f,1.f); //line color
glVertexPointer(2, GL_FLOAT, 0, dashedLine);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_LINES, 0, 648);
glDisableClientState(GL_VERTEX_ARRAY);
}
當然你可以看到代碼在某個座標的矩形區域中繪製,麻煩的事情是如何動態地繪製出這個數組的大小以及繪製方法的用途以及繪製的行數。
相關問題
- 1. 用OpenGL ES繪製點線
- 2. 使用OpenGL-ES繪製點劃線
- 3. 如何繪製「發光」線在OpenGL ES
- 4. 如何使用OpenGL ES繪製NURB
- 5. OpenGL ES的iPhone - 繪製反鋸齒線
- 6. iOS OpenGL ES繪製網格線框
- 7. 使用OpenGL ES 2.0繪製2D圖像
- 8. 使用OpenGL ES繪製紋理
- 9. 如何在Linux中繪製OpenGL ES?
- 10. 如何使用cgcontext iOS繪製虛線?
- 11. 如何使用xml繪製粗虛線?
- 12. OpenGL ES:繪製小物體
- 13. Opengl-es繪製紋理
- 14. OpenGL ES不會繪製
- 15. 繪製與OpenGL ES的
- 16. 在iPhone中使用OpenGL ES繪製直線?
- 17. 如何在OpenGL ES Android中繪製網格線?
- 18. 使用fabric.js繪製虛線
- 19. 使用CGContextSetLineDash繪製虛線
- 20. 繪製虛線
- 21. WinAPI - 如何繪製虛線?
- 22. 如何繪製虛線?
- 23. 如何在iPhone OS上使用OpenGL ES繪製一系列線條?
- 24. 如何使用OpenGL ES 2將紋理繪製爲四邊形?
- 25. OpenGL-ES:如何使用不同的着色器繪製對象
- 26. 透明點虛線OpenGL ES 2.0
- 27. 用OpenGL ES繪製地球儀
- 28. 混合OpenGL ES 1和OpenGL ES 2
- 29. OpenGL ES 2.0繪製一圈刻度線/線
- 30. 如何使用着色器來繪製用GL_LINES和OpenGL ES 2.0繪製的線條顏色
你可以提供一些相同的代碼 – Mayank 2014-04-21 05:12:52