- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
/* OpenGL animation code goes here */
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT);
glDisable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f,512.0f,0.0f,512.0f,0.0f,1.0f);
glMatrixMode(GL_MODELVIEW_MATRIX);
glPushMatrix ();
glLoadIdentity();
glTranslatef(x,y,0.0f);
//glRotatef (theta, 0.0f, 0.0f, 1.0f);
glBegin (GL_TRIANGLES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.8f, -0.5f);
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.8f, -0.5f);
glEnd ();
glPopMatrix ();
SwapBuffers (hDC);
//theta += 0.1f;
Sleep(1);
}
这是主要的简单 opengl 循环。
最近,我回来学习 Opengl(离开它大约 2 年之后)。问题是,我尝试使用 glOrtho 创建 2D 环境,但它不起作用。我的意思是,该程序似乎忽略了 glOrtho 调用(没有错误,没有警告,没有投影,什么都没有)。这会导致 GL_TRIANGLE 的顶点 (0,1) 击中窗口的顶部,任何超过 1.0f 的东西都会飞出视口(viewport)(我认为它仍然是一个单位矩阵?)。我尝试更改参数,但视口(viewport)中没有发生任何变化。我不知道我是否遗漏了什么(可能遗漏了一些初始化步骤或一些我不知道的弃用)。
最佳答案
glOrtho(0.0f,512.0f,0.0f,512.0f,0.0f,1.0f);
该投影有效地选择了宽度为 512、高度为 512、深度为 1 个单位的框作为可见世界空间。然而,您指定的顶点都将位于框的一个非常小的子集中,即在一个单元内。
glBegin (GL_TRIANGLES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (0.0f, 1.0f);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (0.8f, -0.5f);
glColor3f (0.0f, 0.0f, 1.0f); glVertex2f (-0.8f, -0.5f);
glEnd();
我认为您只是混淆了 glOrtho 和 glViewport 的使用。
关于c++ - glOrtho 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7686167/
我正在尝试从 opengles 文档中实现我自己的 glOtho 函数 http://www.khronos.org/opengles/documentation/opengles1_0/html/g
我最近开始使用 LWJGL,注意到 glOrtho 方法采用参数 left、right、bottom、top,但无法弄清楚这些参数对应的是什么。 当我注意到这一点时,我很困惑 glOrtho(1, 1
我正在尝试向我的游戏添加一些基本的 HUD,但是当我尝试更改视角时,我可以看到文本(我之前提到过 HUD),但是在黑屏上。问题出在哪里? gl.glMatrixMode(GL_PROJ
我在使用 GLM 库的 GLMDraw() 函数绘制 Google SketchUp 3D 图像的程序中使用 glOrtho 时遇到问题。我只想在投影模式下查看某些 z 值的图像,而 glOrtho(
/* OpenGL animation code goes here */ glClearColor (0.0f, 0.0f, 0.0f, 0.0f); glClear
目前我正在使用 glOrtho 来缩放和平移我正在渲染的 2D 图形。 我已将视口(viewport)设置为标准宽度和高度。然后我设置 glOrtho 以便我的平截头体使屏幕坐标与世界坐标匹配。 gl
我正在尝试使用本教程学习 LWJGL:http://www.java-gaming.org/topics/lwjgl-tutorial-series-a-simple-moving-rectangle
我正在尝试使用 LWJGL 将 ClickTeam Fusion 游戏移植到 Java。我决定简单地使用像素测量,因为这个游戏中的所有内容都是使用 PNG 文件完成的,甚至是动画(是的,确实如此)。我
鉴于我做了这样的事情: void glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLd
我创建了一个 OpenGL 应用程序,其中使用 glOrtho() 定义了一个查看体积。然后我使用 gluLookAt() 来转换所有点。问题是 - 一旦我这样做,所有点都会从裁剪平面中掉出来,因为它
我正在纹理上绘制,然后使用 GL_QUADS 将此纹理渲染到屏幕上。在屏幕上绘制纹理没有问题,但是在绘制纹理时,唯一有效果的操作是 glClear(GL_COLOR_BUFFER_BIT | GL_D
我是 OpenGl 的初学者,我在设置 glOrtho 相机以匹配窗口大小方面遇到了一些困难,以便我可以使用窗口的坐标绘制一条线。例如,如果我想从坐标 0,10 (x,y) 到 600,10 画一条线
我正在 OpenGL 中创建一个应用程序,我在其中使用 glOrtho(),原点位于左上角: glOrtho(0.0, width, height, 0.0, 0.0, 1.0); 直到我尝试渲染轮廓
我在使用 glOrtho 移动相机时遇到问题。我在中心有一个小四边形,我想尝试使用 glOrtho 移动相机,但它似乎不起作用。四边形根本不动,所以我猜相机也没有移动。也许我想念 glOrtho 的工
我需要在与 XOZ 平面平行(垂直于 OY)的平面上进行 opengl 投影。 你能解释一下我应该使用 glOrtho 进行投影的哪些参数吗? 谢谢, 最佳答案 你的问题的措辞对我来说不是很清楚,但如
我正在使用 OpenGL 创建 2D 游戏。每次我移动对象时,我都必须调用 glLoadIdentity,否则所有对象都会被移动,但是 glLoadIdentity 也会重置 glOrtho 调用,所
我在 (0,0) 处抽了一辆汽车,并设置了一些障碍,但现在我主要关心的是从 glPerspective 切换到 glOrtho,反之亦然。当我从透视切换到正射时,我得到的只是黑屏。 void myin
所以我有一个 3D 对象,我用以下光线绘制: GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 0.9}; /* White light. */ GLflo
在 OpenGL 中我可以这样做: glOrtho(-10, 10, -10, 10, -1, 1) 建立一个坐标系,其中x的范围是-10到10,y的范围是-10到10。 有没有办法在 WPF 中更改
我不知道我的函数是否做错了什么(可能是 glOrtho 的参数错误),所以结果就是错误的,或者是否一切正常。 特别是我有这种情况: 我希望绿色矩形及其所有内部内容占据窗口的所有空间,而不仅仅是窗口的一
我是一名优秀的程序员,十分优秀!