问题标签 [texture2d]
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.
c# - XNA 4.0 - Alpha 和多个纹理......搞砸了
我正在尝试制作某种滑动菜单......当用户触摸图标并滑动它们时,图像会向下或向上滑动(如现代手机或赌场机器的水果等......)
我有一个透明的圆圈,让我们说三个图标......我如何以这种方式混合它们?
项目:
http://i52.tinypic.com/rcn67s.jpg
问题:
http://i52.tinypic.com/i77nrk.jpg
我可以让它们按顺序由 spriteBatch 一个一个地绘制,但是如何以这种方式混合它们呢?
很抱歉,我能感觉到它可能很容易,但我被卡住了..
谢谢!
opengl - 添加粒子系统后 glTexSubImage2d 不起作用(每个粒子都有纹理)
我们很高兴地使用 glTexSubImage2d 每隔几帧更新一个纹理,该纹理在我们的 GL 初始化中使用 glTexImage2d 初始化。在添加了一个粒子系统后,每个粒子都对其本身进行纹理化,我们的四边形显示 glTexSubImage2d 纹理不显示。
粒子的纹理是 PNG,因此我们使用 SDL 将 PNG 加载到 SDL Surface,然后使用 glTexImage2d 将 PNG 绑定到纹理。
如果我们将四边形的 glTexSubImage2d 调用更改为 glTexImage2d 调用,则纹理显示,但这非常低效,并且至少将帧速率降低了一半,因此宁愿使用 glTexSubImage2d(因为它以前工作过)。
有谁知道为什么我们现在不能使用 glTexSubImage2d?
以下是纹理初始化和绑定的相关代码:
加载粒子纹理
设置四边形的纹理:
initGL() 中唯一的调用是启用 GL_TEXTURE_2D、GL_BLEND 设置 glBlendFunc() 和设置四边形的纹理,如上。
有任何想法吗?
arrays - Texture2D 数组作为 HLSL 像素着色器中的渲染目标
目前,我需要来自渲染通道(法线、深度和颜色)的几个纹理的每像素数据。
而不是使用本质上相同的着色器(WorldViewPos 乘法等)运行三个通道,但每个通道都将不同类型的数据输出到渲染目标中的纹理(例如,一个通道用于颜色,一个通道用于深度,一个通道用于法线); 我想使用 Texture3D 对象或理想情况下的 Texture2D 数组作为我的像素着色器的渲染目标。这样我就可以将这三个渲染通道减少到只有一个,并一次输出所有数据。
不幸的是,我发现的唯一例子是几何着色器。有没有办法指定纹理数组中的哪个纹理将数据发送到像素着色器内部?
c# - 从xna中的纹理绘制矩形的不同方法之间的性能差异?
我正在尝试将 pa JRPG/dungeon crawler 作为夏季项目开发,并且我正在清理我的代码。在战斗中,它存在“生命条”,一个生命条由 3 个需要为每个角色绘制的矩形组成(总共 2-8 个字符,具体取决于上下文意味着一次最多 24 个生命条矩形)。
我绘制愈合条的旧方法是基于 1 个纹理,我从其中获取单个像素并在矩形区域上绘制。基本上我使用“HealtBar”纹理作为调色板......例如,如果源矩形是 (0, 0, 1, 1) 它表示绘制一个黑色矩形。
这不是一个好看的解决方案……所以我尝试创建一个抽象类,以减少代码量并提高代码的清晰度。
使用新的 Drawer 类,我可以丢弃“mHealthBar”变量并以更美观的代码方式绘制矩形。但是当我开始使用新方式绘制游戏开始出现帧率问题时,旧方式很流畅......帧率问题的原因是什么?
c# - XNA 渲染到 Texture2D
那么如何将一个texture2d 渲染到另一个呢?我很确定它是可能的。
c# - Accessing the data in a SlimDX Texture2D object
How do I access the data in a Texture2D object? Lots of XNA posts suggest using the function Texture2D.GetData but that appears to be missing in the SlimDX version of a Texture2D. I need to process my image to calculate overall luminance of the scene and don't want to be running 300 accesses in a pixel shader (i.e. 300 access * num_pixels per frame) when I could be doing it once per frame.
All I need to be able to do is access the colour (R32G32B32A32) of the texture.
Ah I reckon I've found it thanks to the SlimDX SDK. The Texture2D.ToStream() method sends the texture data to a memory stream, then I simply have to parse the bytes to get at my data. I'll submit this as an answer if it works for me.
directx - 查看 GPU 内存 / 查看 Texture2D 内存空间进行调试
我有一个关于我正在尝试实现的 PixelShader 的问题,以及我目前在做什么(这只是为了调试,并试图弄清楚):
关键是,这始终是 0,0,0,1
创建纹理缓冲区:
我通过以下方式上传纹理(最后应该是实时显示):
我检查了resource.pData,里面的数据是一个有效的8bit 单色图像。我确保来自相机的数据是 8 位单色 640x480。
有几件事我不完全理解:
- 如果我在每一帧中运行 Map / memcpy / Unmap 例程,驱动程序最终会崩溃,系统将无响应。是否有不同的方法来更新每帧应该完成的完整纹理?
- 我上传的纹理是 8bit,为什么 Texture2D.load() 是 float4 返回?我是否必须使用不同的方法来访问纹理数据?我试图对其进行 .sample ,但这也不起作用。我是否必须使用 int 缓冲区或其他东西?
- 有没有办法调试 GPU 内存,首先检查 memcpy 是否工作?
ipad - 在 OpenGL ES 中重叠 2 个透明 Texture2D
我正在尝试使用 OpenGL 为 iPad 制作 2D 游戏。一般来说,我是 OpenGL 的新手,所以这种混合的东西是新的。
我的绘图代码如下所示:
(“纹理”是具有透明背景的Texture2D)我需要知道的只是制作它,以便纹理周围的蓝色框不会覆盖另一个。
c# - Texture2D:SetData 不起作用
我想要一种带有程序创建纹理的地板。我已经创建了工作所需的顶点和索引:
然后我创建了我想展示的纹理和数据:
这是我用来绘制的代码:
显示地板,但纹理全黑。怎么了?
谢谢你的时间。
android - 在正方形上将文本绘制为纹理不显示任何内容
我是 OpenGL 的新手,我正在为 Android 开发增强现实应用程序。
到目前为止,我一直在绘制垂直于相机的白色方块,将用户指向“兴趣点”所在的方向。
现在,我正在尝试在方块中显示一些文本。
我已经阅读了很多,似乎用文本创建纹理是最直接和最简单的方法,所以我在获得兴趣点数据并将它们粘贴到它们的正方形后立即创建纹理。为此,我使用位图。
让我们看一些代码。在我的 onDrawFrame 方法中,我执行以下操作:
其中 loadGLTextures 是:
它基本上为每个兴趣点创建一个位图,并用它生成一个纹理。稍后将在白色方块上应用纹理,如此类中所示:
我试图按照这里和这里的教导来映射纹理,但没有成功。我真的不知道该怎么做才能在正方形上绘制一些字母,我真的迷路了......也许文本正在绘制在正方形的另一面,也许没有生成纹理......我不知道。
任何形式的帮助将不胜感激。