- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 OpenGL 的新手,我刚刚使用 SDL 2 编写了一段代码,据我所知应该绘制一个三角形,但这段代码似乎不起作用,所以我没有完成学习。我已经得到了 SDL 2 文档中说我需要的所有初始化代码,并且动态加载返回的函数是可调用的。当我执行这段代码而不是三角形时,我得到一个黑色(但已清除)的窗口。为什么这段代码没有画出我想要的三角形,为什么窗口被这段代码清黑了?我想知道主要是第一个问题背后的技术细节,以便我以后可以依赖它。
(*main_context.glViewport)(0, 0, 100, 100);
(*main_context.glBegin)(GL_TRIANGLES);
(*main_context.glColor4d)(255, 255, 255, 255);
(*main_context.glVertex3d)(1, 1, -50);
(*main_context.glVertex3d)(1, 30, 1);
(*main_context.glVertex3d)(30, 1, 1);
(*main_context.glEnd)();
(*main_context.glFinish)();
(*main_context.glFlush)();
SDL_GL_SwapWindow(window);
更新:
我已经修改了我的代码以包含不同的坐标,并且可以绘制三角形,但是当距离更远时我无法绘制它。这是为什么?
(*main_context.glVertex3d)(2, -1, 1); /* Works. */
(*main_context.glVertex3d)(2, -1, 3); /* Doesn't work. */
最佳答案
除非您在代码中的其他地方设置投影和/或模型 View 矩阵,否则它使用默认(单位矩阵)变换,这是一个带 (-1, -1)
的正交投影。在左下方和(1, 1)
在右上角。 glViewport
仅更改渲染到的默认帧缓冲区的部分,它与投影没有任何关系。
对于正交投影,Z 坐标不会影响点的屏幕空间位置,除非不会渲染 Z 裁剪平面之外的点。在这种情况下,这是 -1 <= z <= 1
之外的所有内容.鉴于您的观点之一是 (1, 1, -50)
,这似乎是你的问题。
关于c - 为什么这段代码不画三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21504878/
我想以 headless 模式(屏幕上根本没有 GUI)将 JPanel 绘制到 BufferedImage 中。 final JPanel panel = createPanel(); panel.
我是 Canvas 的新手,正在尝试创建看起来逼真的 float 粒子动画。 目前,我正在创建 400 个随机散布在 400x400 Canvas 上的粒子。 然后,在每个 requestAnimat
有没有办法在悬停时停止悬 float 画? :hover 这是一个显示动画的链接: https://codepen.io/youbiteme/pen/RprPrN 最佳答案 只需为您的 svg 悬停添
我想在谷歌地图上绘制覆盖图,其中除了特定点周围 1.5 公里半径以外的所有内容都被遮蔽了。为此,我尝试使用带有大量边框的圆圈,所以我会在边框中放置透明中心和覆盖颜色来实现这一点,但它无法渲染。
我正在尝试通过扩展类 UIView 来创建自定义 View ,该类可以在自定义 View 的中心显示一个圆圈。为了添加自定义绘图,我重写了 draw(_ rect: CGRect) 方法,如下所示。
我是一名优秀的程序员,十分优秀!