问题标签 [gldrawpixels]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 使用gldrawpixels的opengl旋转
我的团队目前仅限于在opengl 1.4平台上绘制图像,这意味着我们不能使用任何漂亮的纹理映射来绘制图像(是的,我们仅限于使用intel集成图形平台,这很烦人)。到目前为止,我们能够绘制、缩放和翻转图像,但是做图形的人声称在使用 glDrawPixels 时无法通过 glRotate 进行旋转,我们必须使用纹理等等,这在英特尔平台上不起作用。
我和他打赌午餐有一个旋转功能,比如 glRotate,它适用于直接位图。有这样的功能吗?glRotate 会起作用吗?我对这个图形的东西有点新手,但是库不允许位图旋转,除非通过纹理旋转,这似乎很可笑。
谢谢。
opengl - glDrawPixels/glCopyPixels 获得放大视图,产生严重钳位的图像
尽管有一个较早的问题(问here),但我们的项目仅限于使用glDrawPixels,因此我们必须做一些hackery。
功能要求之一是能够在图像的单击区域上显示放大视图;所以,看着图像,我想点击鼠标,并在鼠标所在的位置显示 200% 的图像窗口。当我拖动光标时,窗口应该跟随光标。
上下文设置如下:
大红皮书的代码如下所示:
然后调用使较小但缩放的图像看起来像
其中 mStartY 和 mStartX 是点击发生的点。
问题是,显示的窗口实际上是在破坏查找表,并且实际上将图像压缩到本质上是黑白二值图像(即,没有灰色阴影)。
数据是一个黑白无符号短数组,并使用以下代码设置:
现在,根据这个文档,我应该使用 GL_PIXEL_MAP_I_TO_I 并将 INDEX_SCALE 和 INDEX_BIAS 设置为零,但这样做不会改变结果,即图像被严重钳位。所谓“严重钳制”,我的意思是它不是黑色就是白色,只有很少的灰色阴影,但原始未放大的图像看起来像预期的那样。
那么,如何避免放大视图的钳位呢?我应该创建一个跟随光标并用第一个控件的数据填充的第二个控件吗?这种方法似乎会将数组副本从图形卡带到 C# 中,这几乎按照定义会变慢,因此使控件无响应。
哦,我正在使用 C# 和 Tao 框架,如果这很重要的话。
opengl-es - 将任意大小的像素块复制到 OpenGL ES 纹理中……不知何故?
我正在编写一个绘图应用程序,绘图画布是一个 OpenGL 纹理。当您在画布上绘图时,它会确定画布纹理的哪个区域已更改,并在应用您所做的更改之前复制该像素数据(使用 glReadPixels)。
要撤消,我想使用复制出来的像素数据简单地恢复到以前的纹理状态。但是,OpenGL ES 不提供 glDrawPixels 命令。最好的方法是什么?
我考虑了两种选择,但我不确定是否有那么好:
使用我复制出来的像素创建一个临时纹理并将其绘制进去。(但是,复制的区域不是 2 的幂!)
完全解绑大画布纹理,手动修改纹理字节,然后放回OpenGL。我没有使用任何形式的压缩,所以这可能不是那么糟糕。但这似乎是一个黑客?
有人有什么想法吗?我真的很感激!
opengl - 相当于在 GPU 内存上运行的 glDrawpixels?
有没有这样的功能,除了访问CPU内存而不是访问GPU内存?[帧缓冲区对象的纹理]
opengl - opengl 或 jogl 中的 glDrawPixels
我有一个 ijrgb 格式的文件,其中 i 和 j 是像素坐标,r,g,b 是范围从 0-255 的颜色值。我已经从文件中以单个数组(按行主要顺序)扫描了它们,但我的绘制像素没有按预期工作。请帮帮我。也给代码..
ios - 将纹理数据写入深度缓冲区
我正在尝试实现在:Compositing Images with Depth中描述的技术。
这个想法是使用现有的纹理(从图像加载)作为深度蒙版,基本上是伪造 3D。
我面临的问题是 glDrawPixels 在 OpenglES 中不可用。有没有办法在 iPhone 上完成同样的事情?
opencv - 来自网络摄像头的全屏图片
我使用 openCV 从摄像头拍照。这是代码:
但是当我最大化我的窗口时,图片大小只有 640*480 - 我的网络摄像头分辨率。它只在窗口的左上角。我必须做什么来匹配图片大小和窗口大小。
flash - 使用 Adobe Alchemy 将 OpenGL 图像从 c++ 代码获取到 flash 应用程序
我有使用 OpenGL 的 C++ 应用程序。需要将此应用程序转换为 Flash 应用程序。是否可以使用 Adobe Alchemy 做到这一点?是否可以从该 swc 当前图像中获取(例如,使用 glDrawPixels)并将其打印在屏幕上
opengl - Jogl gldrawpixels() 问题
我希望这最终成为一个简单的问题。
我在 Netbeans 中使用 JOGL 来创建一个像素棋盘,您可以在其中指定每行/列中的图块数量,以及每个图块的颜色(用 0 alpha 绘制这个图块,用完整的 alpha 绘制那个图块)。速度不是问题,效率也不是问题。
这是我的问题:当我尝试使用 glDrawPixels() 时,我的 glCanvas 被稀疏填充而不是完全填充。正如你所看到的,我目前正在尝试制作一个简单的绘图案例,然后再进行更多涉及的内容。我正在用填充字节的值填充一维字节数组。接下来,我将其交给 glDrawPixels() 以写入颜色缓冲区。
我是否错误地处理了字节数组?在实践中(与我见过的几个教程相反),该方法只对实际数据采用 Buffer 的形式,所以这就是我包装字节数组的原因。
此外,该方法似乎期望的数据是您为其指定的维度的两倍。例如,您可以在此处看到,尽管我告诉它管理一个宽高的区域,但它会引发异常,除非字节数组实际上是宽度的两倍和高度的两倍。
我使用 glDrawPixels() 是因为我读到这是管理像素的正确方法。
注意宽度和高度是我画布的尺寸(256x256),所以这个操作应该占据整个画布的区域。
我真的很感激你能给我的任何帮助。我对涉及完全不同方法的解决方案很好(只要它们仍然意味着使用 JOGL)。话虽如此,我宁愿不在片段着色器中这样做。谢谢你的时间。
opengl - glDrawPixels:看不到程序输出
我正在尝试遵循红皮书第 8 章中的 glDrawPixels 示例(不完整),但看不到任何东西(运行代码时我只看到没有像素图的黑屏。有什么想法我做错了吗?