问题标签 [blit]
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.
python - 软件设计与开发专业:Pygame Smudge Trails
首先,我在网上搜索了这个网站的解决方案,而我尝试过的那些都不起作用,所以我决定发布我的个人问题和代码。该程序是使用 Python 3.2.2 和对应的 pygame 兼容版本创建的。我还意识到一种更有效的方法是使用精灵、精灵组和“脏矩形”更新,但我无法转换程序,所以我将继续没有这些功能的额外好处。
问题:留下“小行星”移动的污迹痕迹。
假设:背景被粘贴到屏幕上,而小行星被粘贴到背景上。
请回复-顺便说一句,我是来自澳大利亚的高中生:D
text - 如何在pygame中删除/替换文本
我对 pygame 还很陌生,我遇到了我的第一个树桩,但我找不到答案。
在 blitting 文本之后,然后更改相同变量的字符串,游戏不是用新文本替换原始文本,而是重叠两个文本..?
c# - 检查一个类型是否是 blittable 的最快方法?
在我的序列化器/反序列化器中,我有以下片段:
其目的是尝试以最有效的方式将值类型数组写入流(即,仅将内容作为一串字节)。
当类型是值类型但不是 blittable 并且 Alloc() 失败时,就会出现问题。目前,异常被捕获并将控制传递给处理数组的代码,就好像它由引用类型组成一样。
然而,由于我的应用程序中遇到的值类型的数量,这种检查(由于我理解的异常的抛出和捕获非常慢)被证明是一个严重的瓶颈。所以我想知道,检查一个类型是否是 blittable 的最快方法是什么?
pygame - pygame:如何对图像的非矩形部分进行着色/着色?
所以我知道如何为图像着色。而且我知道如何对图像的矩形部分进行 blit。但是,比如说,一个三角形呢?还是梯形?(例如http://i.imgur.com/Gtwhs.png)
opengl - 当片段输出为 vec3 时,glBlitFramebuffer() 呈现空屏幕
我正在使用 OpenGL 4.0,以前使用的是 3.3 我有一个带有 3 个输出的片段着色器 - 每个都是 vec3。我正在将这些输出写入一些 FBO,然后尝试使用 glBlitFramebuffer() 方法测试内容。我得到的是空的屏幕。现在,我发现将输出设置为 vec4 类型可以正常工作。我不明白为什么!我的 FBO 纹理设置为 RGB32F,因此它们应该能够接受来自片段的 vec3。这是我的 FBO 设置(这是 Java LWJGL 包装器,但在这里没关系):
python - 在 Pygame 中分割图像
我在 pygame 中有一个 200x200px 的图像,我想将其切成两半,因此 2 个形状将是 100x200px。之后,我想在屏幕上用一定数量的像素对屏幕上的 2 个新图像进行 blit。如何以这种方式分割/裁剪图像?
编辑 - 已修复!我设法通过使用pygame.transform.chop()
和自己解决了这个问题pygame.transform.rotate()
。不过,感谢您的帮助。感谢 Tankor Smash 的帮助,我知道的更多。
c++ - glBlitFramebuffer 无效操作
我一直在搞乱帧缓冲区并渲染到纹理,我遇到了对它们进行 blit 处理的需要。再次在某些机器上,我GL_INVALID_OPERATION
在glBlitFramebuffer
通话后立即得到。绑定到帧缓冲区的每个纹理都以完全相同的方式设置,所有相同的大小和参数。此外,当我尝试将整个纹理(之前已成功渲染到)blit 到另一个帧缓冲区时,只有要写入的目标“矩形”小于要读取的矩形(例如,当我想将它blit 到屏幕),它GL_INVALID_OPERATION
也会抛出一个。
编辑: 实际上,每当要读取和绘制的矩形具有不同的大小时,它总是会引发错误,因此我不能将纹理粘贴到不同大小的纹理,或者相同大小但不同大小的“渲染到”区域。 ..?
每次我进入手动生成的帧缓冲区时,都会检查状态glCheckFramebufferStatus
并始终返回GL_FRAMEBUFFER_COMPLETE
.
-有史以来最大的剪辑-,见下文较短的“源代码”,显然有几个 C++ 错误并且不完整,但它仅适用于 GL 调用
当我以屏幕帧缓冲区为目标(通过传递 NULL)调用视口 (Viewport::blit) 的最后一个方法时,会发生 OpenGL 错误。它首先设置自己帧缓冲区的读取缓冲区(绘制缓冲区已设置),然后调用 RenderTarget::blit 调用glBlitFramebuffer
. 在 blit 方法中,它绑定了两个缓冲区,您可以看到它glCheckFramebufferStatus
在那里调用,但不会返回错误。
我一遍又一遍地阅读这篇文章,但我似乎找不到导致它的错误。当我对我使用的颜色缓冲区进行 blit 时GL_LINEAR
,否则我使用GL_NEAREST
所有颜色缓冲区GL_RGB32F
用作内部格式,而深度缓冲区(我从不 blit)使用GL_DEPTH_COMPONENT32F
编辑,一个更短的例子,只是接受了所有的 GL 调用并填充了我使用的参数
以及 Framebuffer/Texture 创建:
assembly - ARM cortex m4 DSP 代码上的快速 1bit 透明度 blit
我想将字节从位图设置到内存,设置值不等于给定透明度字节值的字节。
示意图我想做:
即仅在 C 或程序集中设置与值不同的字节(或从程序集反向翻译的 C)
为了更快,我考虑过使用 32 位加载、src 和 dst 之间的 SEL 操作以及 32 位存储。但是,我需要设置掩码,它位于 APSR.GE 中。
如果我没记错的话,用 VALUE 进行 SIMD 比较(使用 USUB8)只会检查结果是 >= 还是 < 到 VALUE,无法检查它们是否相等。(当然,您可以将 VALUE 限制为 0 或 255 并收工...)
另一种可能性是在 src 上使用预先计算的掩码,然后手动设置 APSR.GE(可能吗?)但是 1)它使用内存,2)在 3)之前获取数据并不总是可行的)不确定它是否真的会比逐字节访问要快。
python - pygame:blit的目标位置无效
错误信息是:
代码是:
vector2的代码是:
不仅此代码,所有需要 vector2 的代码都遇到了这个问题:invalid destination position for blit
难道我做错了什么 ?
非常需要任何帮助。
吉尔伯特陈
actionscript-3 - 在一个位图上加入多个 alpha 蒙版
我有两层位图:
第 1 层 - 一些随机图像
第 2 层 - 用黑色填充的位图,覆盖第一个位图
我还有一个蒙版位图。我试图做这样的事情
https://dl.dropbox.com/u/13089585/so/001.jpg
但我得到这样的事情:
https ://dl.dropbox.com/u/13089585/so/002 .jpg
我尝试使用BitmapData::copyPixels
,BitmapData::copyChannel
并BitmapData::draw
使用不同的参数组合来做到这一点,但仍然无法做到...我需要一些方法来覆盖 dest 上的 alpha 值。位图,但前提是该值大于 src 中的值。位图。