- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的团队目前仅限于在 opengl 1.4 平台上绘制图像,这意味着我们不能使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用 intel 集成图形平台,这很烦人)。到目前为止,我们能够绘制、缩放和翻转图像,但是做图形的人声称在使用 glDrawPixels 时无法通过 glRotate 进行旋转,我们必须转到纹理等等,这在英特尔平台上不起作用。
我打赌他午餐有一个旋转功能,比如glRotate,它适用于直位图。有这样的功能吗? glRotate 会起作用吗?我对这个图形事物有点新手,但库不允许位图旋转,除非通过纹理旋转,这似乎很荒谬。
谢谢。
最佳答案
不能将 glRotate 与 glDrawPixels 一起使用。
glDrawPixels 是迄今为止将像素显示到屏幕上的最差且性能最低的方法。通过使用写得不好的软件光栅器将像素放到屏幕上,您甚至可以获得更好的性能。
简而言之,glDRawPixels 会将像素数据从进程内存复制到图形内存,并将执行一些非常简单的转换,如翻转和缩放。更高级的一切(如旋转)都需要您实际使用图形芯片组的功能。例如。你必须使用纹理。
纹理确实有效。它们也适用于 GL 1.4 和英特尔图形芯片组。我自己已经在这样的芯片组上工作了很长一段时间。您不会获得现代 ATI 或 NVIDIA 芯片组的性能,但它们不是 那个也不好。
我最好的赌注是有人试图创建非 2 次幂的纹理,但失败了,并认为纹理通常不适用于芯片组。
这不是真的。他们确实工作。您只需要知道 OpenGL 要求您以二维的幂创建纹理,并且您必须使用较大纹理的子矩形或将多个图像放入一个非常大的纹理中(后者称为纹理图集)。
您可以通过调整纹理坐标来补偿较大纹理中的较小图像。
关于使用 gldrawpixels 的 opengl 旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223894/
我一直在尝试使用 java 和 lwjgl 在 opengl 中绘制 320 x 240 全屏分辨率的图像。我将分辨率设置为 640 x 480,并将像素大小加倍以填充空间。经过大量的谷歌搜索后,我发
基本上我正在做一些测试来模拟场景中的各种窗口。一切正常,直到我尝试更好地定位我在场景中绘制的窗口。 重要代码在这里: // camFront = glReadPixels ... glMatrixMo
我是图形编程新手。我正在尝试使用 glDrawPixels 进行绘图,但我的程序没有任何输出。我在网上进行了研究,关于我应该将哪些数据传递给 glDrawPixels,我不断得到不同的答案。我看过 d
我正在尝试使用 OpenGL 函数 glDrawPixels() 渲染体积数据 #define SIZE 480 unsigned int rgbPixels[SIZE][SIZE] ..
我有一张像这样渲染的图像: glDrawPixels(image->width, image->height, GL_BGR, GL_UNSIGNED_BYTE, image->imageData);
我必须使用 glDrawPixels 来实现光栅算法。 现在我只是想得到一个 glDrawPixels 工作但有问题的简单示例。 GLint height, width, size = 0; GLby
这是代码。输出是一个灰色的方 block ——一直都是,不管输入是什么,而且明显是错误的。我的目标是能够将所有像素存储在某个地方并显示它们,这样我就可以继续使用简单的光线追踪器,但我似乎无法弄清楚这个
我已经使用 OpenGL 和 GLUT 编写了一个小示例程序,以使用 glDrawPixels 函数显示由四个彩色方 block 组成的 2×2 网格。不幸的是,我发现: 网格中的颜色显示不正确;和
将 glDrawPixels() 与 glRasterPos2*() 和 glPixelZoom() 结合使用时,我得到了非常奇怪的结果。我有一张照片,我想像过去的旧帧缓冲区一样显示它,即 (0,0)
我的团队目前仅限于在 opengl 1.4 平台上绘制图像,这意味着我们不能使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用 intel 集成图形平台,这很烦人)。到目前为止,我们能够绘制、缩放
根据 opengl 规范 4.0 glDrawPixels 已弃用。 对于 cuda 互操作性,似乎最好使用“opengl 缓冲区对象”。 (替代方案可以是纹理或表面,但它们存在缓存/并发问题,因此无
我正在尝试用opengl画康威的生命游戏。它在常规 pygame 中工作得很好,但我读到 glTexImage2D 是快速绘制数组中已有内容的方法。我已经查看了the examples and doc
这个问题已经有答案了: glDrawArrays only updates when i exit (1 个回答) 已关闭 2 年前。 我创建了要使用 glDrawPixels 绘制的像素缓冲区。代码
以下代码不向 Intel 集成视频卡(例如 MacBook)的后台缓冲区写入任何数据。在 ATI 卡上,例如在 iMac 上,它绘制到后台缓冲区。宽度和高度正确(和 800x600 缓冲区)并且 m_
谁能看出这段代码有什么问题? SIZE_BG 是 6MB,因为我正在尝试绘制大型位图图像 (3366x600)。我使用 malloc 来防止我的图像溢出堆栈。我在调用 glDrawPixels() 时
我目前正在使用 OpenGL 开发适用于 Windows 的视频播放器。效果很好,但我的主要目标之一是准确性。也就是说,显示的图像应该与保存为视频的图像完全相同。 去掉所有与视频/文件/输入相关的东西
我现在对 glDrawPixels() 函数感到困惑。我知道函数签名是这样的:gl.glDrawPixels(int 宽度, int 高度, 格式, 类型, 数据); 我不知道如何使格式类型数据保持一
我正在尝试使用 numpy 和 OpenGL 可视化 mandelbrot 集。但是我在绘制代码时遇到问题,即 glDrawPixels。 当我使用 glDrawPixels 绘制时,我得到一些黑色的
我有一个函数可以在窗口上逐一绘制像素,但我想知道的是如何让像素以红色以外的其他颜色绘制。提前致谢。我已经尝试了一些东西,例如 glSetColor、glColor3f 等。只是尝试让像素以不同的颜色显
我有一个三维数组 unsigned int window_RGBData[3][640][480]; void display(){ glClear(GL_COLOR_BUFFER_BIT |
我是一名优秀的程序员,十分优秀!