glsles

    1热度

    1回答

    我将桌面OpenGL应用程序移植到GLES-2(iOS专用)。在桌面版本中,一些GLSL着色器依赖于整数位操作,而GLES缺乏。 此函数,最初使用在片段着色器: int reverseByte(int a) { int b = 0; for (int i = 0; i < 8; i++) { b <<= 1; b |= ((a & (1 <<

    0热度

    1回答

    我不能编译以下片段着色器: uniform vec3 color; uniform sampler2D tDiffuse; varying vec2 vUv; void main() { vec4 texel = texture2D(tDiffuse, vUv); vec3 luma = vec3(0.299, 0.587, 0.114); float v =

    3热度

    2回答

    我试图在一个PointCloud中使用ShaderMaterial使用多个纹理。我将纹理数组与纹理索引属性一起传递给着色器,并选择适当的纹理用于片段着色器。 相关设置代码: var particleCount = 100; var uniforms = { textures: { type: 'tv', value: this.getTextures()

    1热度

    1回答

    我有一个片段着色器,将颜色降采样为4种不同的颜色。 要做到这一点,我计算基于从0变化到3。 颜色索引然后我查找在vec4的均匀阵列的最终颜色的值: 阵列的声明: uniform vec4 u_colors[4]; 查找: gl_FragColor = u_colors[int(index)]; 这非常适用于一些设备,但在某些设备(在Tegra的4个这样的)似乎我不能用可变访问数组,并且输出

    0热度

    1回答

    我有一个游戏使用GLSurfaceView.Renderer在通常的方式来渲染与OpenGL ES 2.0的3D图形。 所有的渲染代码都在onDrawFrame()方法中,并且当定时需要大约24ms才能完成;这很容易给出30 FPS的结果。 但是我发现onDrawFrame()调用本身通常只会每50到100ms被调用一次,因此onDrawFrame()的总时间实际上是70到120毫秒,最多给出14

    2热度

    2回答

    当我切换到使用OpenGL ES 3 GLSL 300,我在FRAG着色器满足以下错误 未声明的标识符gl_FragColor使用GLSL 100时 ,一切安好。

    3热度

    2回答

    我想为iPhone上的OpenGL ES应用程序编写一个简单的顶点着色器,但是我的数组构造函数给我带来了麻烦。 attribute vec4 normal; attribute vec4 position; void main(void){ const vec4 vertices[3] = vec4[](vec4(0.25, -0.25, 0.5, 1.0),

    3热度

    2回答

    我需要使用极坐标将矩形纹理变形为纹理。传播光在我的问题,我要说明吧: 我的形象: ,我必须使用着色器变形它是这样的: 然后我要把它映射到一架飞机上。 我该怎么做?任何帮助将不胜感激!

    3热度

    2回答

    我尝试使用OpenGL和GLSL API在我的3D引擎中实现parralax映射,但显示不正确。要了解并应用这种技术,我用以下的PDF教程(16页,17和18)的启发的复杂性: https://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/Chapter_4.pdf 产生非常基本的parralax效果(没有任何照明效果)我需要使用2个纹理: - 1 d

    0热度

    1回答

    我想了解顶点和片段着色器如何在OpenGL ES 2.0中工作。 我着色器看起来像这样: 顶点着色器: // source code for the vertex shader attribute vec4 vPosition attribute vec2 a_texCoord; varying vec2 v_texCoord; void main() { gl_Positio