Tag: 操作系统

GLSL:iPhone应用程序无法访问的内置属性?

我在这里真的很绝望。 我使用Xcode,试图在iPhone上实现一些OpenGL的东西。 我必须为Phong-Lighting写一个Shader。 我得到了几何(顶点,索引,计算等),并将各自的参数作为属性传递给着色器(用GLSL编写)。 使用这些属性工作正常,一些真正的基本着色器程序编译正确,并给予预期的输出。 现在我试着从一些更高级的计算开始,为此我需要使用一些GLSL的内置属性,即“g​​l_NormalMatrix”,但是每当我尝试这个,程序崩溃,我得到一个“错误:0:3:使用未声明的标识符'gl_NormalMatrix'“。 无论何时使用任何内置属性,如gl_Vertex,gl_Normal等,都会发生同样的情况。 这些属性在iPhone上的GLSL中是不可用的还是我错过了一些东西? 也许我还没有完全明白这是如何工作的。 如前所述,将我自己的顶点属性传递给着色器效果很好,而且我也想知道程序如何“自己”“知道”正确的值 – 所以内置属性的整个概念仍然有点混乱我。 但是每当我尝试运行一些着色器时,我发现它们在网上,看看是否发生了什么事情,即使其他人似乎在编写着色器时都广泛地使用内置属性,也会引发这些错误。 我真的希望这里有人能够点亮这个。 千先谢谢! 朱莉娅

我如何在iOS中使用3-D纹理?

我在OpenGL ES 2.0中找不到OpenGL的glTexImage3D()函数。 那么我怎样才能使用三维纹理,例如:.tga文件? 有人知道如何在OpenGL ES 2.0中使用3D纹理吗?

在iPhone / iPad上画一条线

我想开发一个应用程序,当用户可以画线…但我不想绘制直线,但要显示的行,因为用户绘制它。 当用户从A点到BI想要拉直线(如果用户需要的话)。 为了能够做到这一点,我想把我的视图变成从0,0(左上)到320,480(对于iPhone)和768,1024(对于iPad)(右下)开始的网格。 对于这个问题,我有10,10点B和100,100点。 我的问题: – 如何创build这个网格? – 我如何创build这些点? – 如何绘制这条线而不矫直呢? – 如何绘制拉直线? 我的问题是我熟悉创build“正常”的UI应用程序。 我不熟悉Open-GL等。 我希望有人能帮助我。 最好的祝福, 保罗·佩伦

如何在iPhone上的OpenGL ES 2.0中混合两种纹理与不同的坐标?

当两个纹理覆盖相同的矩形时,我可以在片段着色器中混合两种具有不同混合模式的纹理。 但现在我的问题是,一个纹理是一个没有旋转的普通矩形,另一个纹理是另一个旋转/缩放和平移的矩形。 如何以我想要的方式合并这些纹理? (图片中) 我知道如何做到这一点… 但不知道如何做到这一点… 为了在一个矩形(第一个图像)中混合纹理,我使用了下面的代码。 Objective C代码… – (void) display { [EAGLContext setCurrentContext:context]; glBindFramebuffer(GL_FRAMEBUFFER, targetFBO); glUseProgram(program); glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, textureTop); glActiveTexture(GL_TEXTURE3); glBindTexture(GL_TEXTURE_2D, textureBot); glUniform1i(inputTextureTop, 2); glUniform1i(inputTextureBot, 3); glUniform1f(alphaTop, alpha); glEnable (GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glVertexAttribPointer(position, 2, GL_FLOAT, 0, 0, imageVertices); glVertexAttribPointer(inputTextureCoordinate, 2, GL_FLOAT, 0, 0, textureCoordinates); glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glBindRenderbuffer(GL_RENDERBUFFER, […]

在OpenGL ES 2.0中进行抗锯齿?

有没有办法在OpenGL ES 2.0中实现Anitaliasing技术? 我已经看到了,发现了很less的方法,但是输出没有变化。 在最坏的情况下,我已经计划实现多遍渲染,通过显示每个像素周围的像素的平均颜色来平滑片段着色器中的边缘,但是它会花费更多的GPU性能。 有什么build议么 ?

在iOS上学习OpenGLES 2.0

我是OpenGL ES 2.0的初学者,我正在寻找一本能帮助我学习的好书/资源。 我find了几本书: OpenGL®ES 2.0编程指南 iPhone 3D编程:使用OpenGL ES开发graphics应用程序 但阅读亚马逊的评论,我看到他们要么承担以前的知识与OpenGL或不是专门为iOS编写的。 (我知道OpenGL应该很容易移植,但是我正在寻找一个C语言书籍/资源,而不是C ++,在iOS环境下讨论OpenGL) 我也发现了这个 ,它帮助我掌握了基本概念,但不幸的是,它们涵盖了OpenGL ES 1.1,只是描述了基础知识。 任何帮助,将不胜感激!