shader相关内容

gl_FragCoord的范围是多少

gl_FragCoord.xy的范围是多少?我知道gl_FragCoord是屏幕坐标,但实际范围是多少?( 0, width - 1 )还是( 1, width )?当我进行基于碎片coord的计算时,如果我做了类似gl_FragCoord.x - 5的操作,GLSL编译器会生成什么类型的错误(如果有的话)? PS:我不需要规范化。 推荐答案 gl_FragCoord坐标从0开始 ..
发布时间:2022-03-01 17:10:59 C/C++开发

OpenGL ES 2.0-Fisheye着色器显示灰色图像

我一直在尝试使用ShaderTool的鱼眼着色器。 我添加了自己的帧分辨率,并更改了一些关键字(texture->texture2D,fragColor->gl_FragColor),但仅此而已。 我真的不知道为什么它不能工作,也不知道如何调试它。 结果,我得到了一张单色的灰色图像。 以下是我的片段着色器的代码: precision mediump float; uniform ve ..
发布时间:2022-03-01 16:56:01 其他开发

使用蒙版获取图像像素

所以我有一些原始图像. 我需要使用特定蒙版获取并显示此图像的某些部分.掩码不是矩形或形状.它包含不同的多边形和形状. 是否有任何方法或教程如何实现它?或者从哪里开始做这个?我应该写一些小的着色器或比较图像的适当像素或类似的东西吗? 很高兴收到任何建议. 谢谢 解决方案 你可以把你的图片放在一个 UIImageView 中,然后给那个图片视图添加一个掩码,比如 my ..
发布时间:2022-01-21 17:40:52 移动开发

在 QML 中绘制虚线贝塞尔曲线

我看到有一个 a Bezier 的示例实现QML 中的曲线,但我正在寻找如何实现虚线或虚线贝塞尔曲线的提示.据我所知,贝塞尔曲线示例的作者正在使用 QSGGeometryNode 来存储 QSGGeometry 并在其上应用 QSGFlatColorMaterial 材料.然后他们只需创建点列表并在它们之间绘制线段. 是否可以编写一个 shader 并将其应用到 QSGFlatColorMa ..
发布时间:2022-01-19 23:04:04 C/C++开发

OpenGL ES 2.0 GLSL texture2D 未绑定时返回值

在以下代码中: gl_FragColor = vColor * texture2D(u_Texture, v_TexCoordinate); 我注意到如果 u_Texture 未绑定,则 texture2D 返回的默认值是白色 (1,1,1,1). 我的着色器基于这个事实是否安全? 解决方案 我没想到. 我见过默认值为黑色的其他实例.如果采样器使用的内存是一段未初始化的视频 ..
发布时间:2022-01-19 15:23:34 其他开发

旋转后查找线/点左侧的点

我目前正在尝试统一编写一个着色器,如果两个国家不属于同一个玩家,则该着色器会在风险风格的游戏中围绕国家绘制三角形图案(视觉辅助来查看您的边界). 现在,我在让着色器正确设置国家/地区时遇到问题. 它总是将国家 0 设置在左侧,国家 1 设置在右侧 - 国家 0 和 1 是通过程序设置的. 线,一个边界,可以在 0 到 359 度之间. 我如何找到国家 0 和 1 是我在线中 ..
发布时间:2022-01-14 15:24:32 C#/.NET

使用 LibGDX 的法线映射 GLSL

我尝试使用 LibGDX 实现法线映射.因此,当我在顶点着色器中计算漫反射和镜面反射颜色时,我得到了一些积极的结果(至少我是这么认为的). 顶点着色器: 属性 vec4 a_position;属性 vec2 a_texCoord0;属性 vec3 a_normal;变化 vec2 v_texCoord;可变浮点 v_diffuse;变化 vec3 v_specular;变化 vec3 v_ ..
发布时间:2022-01-12 17:28:53 其他开发

LibGDX 网格高度图法线和灯光

我正在尝试让网格法线和灯光在 LibGDX 项目中工作. 我已经有从高度图纹理像素生成的纹理网格. 问题是我无法正确点亮法线.我也不是 100% 确定我在 TerrainChunk 类中正确设置了正常顶点. 以下是主类代码: 包com.me.terrain;导入 com.badlogic.gdx.Game;导入 com.badlogic.gdx.Gdx;导入 com.badlo ..
发布时间:2022-01-12 17:16:20 Java开发

与金属 swift 并行计算数组值的总和

我正在尝试与金属 swift 并行计算大型数组的总和. 有没有大神的方法? 我的平面是将我的数组划分为子数组,并行计算一个子数组的总和,然后在并行计算完成后计算子总和的总和. 例如,如果我有 array = [a0,....an] 我将数组划分为子数组: array_1 = [a_0,...a_i],数组_2 = [a_i+1,...a_2i],……array_n/i = ..
发布时间:2022-01-09 16:31:48 移动开发

OpenGL ES 1.x 着色器

我正在尝试查找如何为 OpenGL ES 1.x(特别是 iPhone)实现简单着色器的示例.我以前从未使用过着色器,但我确实了解它们的用途.我认为一旦我能够在模拟器中加载一个简单的着色器,我就可以从那里获取它并做我需要做的事情.谢谢您的帮助,~埃里克 解决方案 iPhone目前使用OpenGL ES 1.1 不支持可编程管道.不过,OpenGL ES 2.0 似乎确实有它们,并且与 1. ..
发布时间:2022-01-09 09:41:24 移动开发

在 glsl es 2.0、Gamemaker Studio 2.0 中获取渐变正方形的问题

我制作了一个包含 4 个三角形的三角形列表,中间点的颜色不同.然后旨在组合三角形以获得漂亮的渐变.但是三角形的边缘会产生不需要的线条,我不希望这些线条一直平滑.我怎样才能得到想要的结果? 图片: 着色器代码: //简单的直通顶点着色器//属性 vec3 in_Position;//(x,y,z)属性 vec4 in_Colour;//(r,g,b,a)属性 vec2 in_Textu ..
发布时间:2022-01-09 09:41:19 其他开发

顶点着色器中的纹理查找在 iPad 设备与 iPad 模拟器上的行为不同 - OpenGL ES 2.0

我有一个顶点着色器,我在其中进行纹理查找以确定 gl_Position.我将其用作 GPU 粒子模拟系统的一部分,其中粒子位置存储在纹理中. 似乎: vec4 textureValue = texture2D(dataTexture, vec2(1.0, 1.0)); 在模拟器上的行为与在 iPad 设备上的行为不同.在模拟器上,纹理查找成功(该位置的值是 0.5、0.5)并且我的粒子出现在 ..
发布时间:2022-01-09 09:29:09 移动开发

OpenGL ES 2.0 使用纹理渲染

iPhone SDK 有一个使用 ES 2.0 和一组(顶点和片段)GLSL 着色器来渲染不同颜色的框的示例.是否有关于如何使用此 API 呈现简单纹理的示例?我基本上想取一个四边形,并在其上绘制纹理. 旧的 ES 1.1 API 根本不再工作,所以我需要一些帮助才能开始.大多数着色器参考主要讨论高级着色主题,但我真的不确定如何告诉着色器使用绑定的纹理,以及如何引用 UV. 解决方案 ..
发布时间:2022-01-09 09:25:40 移动开发

暂停时的快速高斯模糊

在 cocos2d-x 中,我需要实现快速高斯模糊,它应该是这样的(我刚刚在 App Store 上发现了一些游戏已经完成了这种模糊,统一): 所以,当用户暂停游戏时,fadeIn-fadeOut 模糊效果很好. GPUImage 已经有我需要的快速模糊,但是我找不到 cocos2d-x 的解决方案. v1 代码(GPUImage v1) 目标C v2 代码何时是现在斯威夫 ..
发布时间:2022-01-09 09:24:49 游戏开发

OpenGL ES 2.0 中的剪切平面

我需要在 OpenGL ES 2.0 中的一个剪切平面下剪切数百个对象,我会感谢对这个 OpenGL 子集更有经验的人的想法. 在 OpenGL ES 1.x 中有 glClipPlane.在桌面上,您的着色器中有 glClipPlane 或 gl_ClipDistance.这两个在 OpenGL ES 2.0 中都不可用.似乎这种功能在 2.0 中完全消失了. 似乎唯一的方法是 A) ..
发布时间:2022-01-09 09:03:56 其他开发

丢弃对OpenGL中的程序性能有害吗?

我正在阅读 这篇文章,作者写道: 以下是如何通过两个简单的步骤在每个平台上编写高性能应用程序: [...] 遵循最佳实践.对于 Android 和 OpenGL,这包括诸如“批量绘制调用"、“不要在片段着色器中使用丢弃"等内容. 我以前从未听说过丢弃会对性能等产生不良影响,并且一直在使用它来避免在不需要详细的 alpha 时进行混合. 有人可以解释一下为什么以及何时使用丢弃可 ..
发布时间:2022-01-09 08:49:30 移动开发