2013-03-20 64 views
0

如何在OpenGL的視口底部繪製水平框?這是在頂部繪製它。怎麼了?繪製線條形式的底部

var H = window height; 
var len = 20; 

gl.Vertex3d(0, H - len, 0);  //top  left 
gl.Vertex3d(Width, H - len, 0); //top  right 
gl.Vertex3d(Width, H + len, 0); //bottom left 
gl.Vertex3d(0, H + len, 0);  //bottom right 

回答

2

OpenGL的默認座標空間有Y指向上方。你可以改變它,或者你可以改變你的頂點,這取決於你將要做什麼以及你習慣了什麼。在您發佈的情況下,它只是一個四,你可能只是改變了頂點,做這樣的事情:

gl.Vertex3d(0, len, 0);  //top  left 
gl.Vertex3d(Width, len, 0); //top  right 
gl.Vertex3d(Width, -len, 0); //bottom left 
gl.Vertex3d(0, -len, 0);  //bottom right 

如果你借鑑了很多其他的東西,你可以設置當前的變換矩陣,你需要繪製之前(並可能恢復它之後),通過做一些沿線:

gl.matrixMode(GL_PROJECTION); 
gl.ortho(left, right, top, bottom, near, far); // Note reversal of top and bottom