Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Opengl Es_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Opengl es 使用OpenGL ES绘制点画线

我有一个应用程序,绘制三维地图视图标记线,显示各种功能。 我正在将地图移植到OpenGL ES体系结构,但在解决如何显示虚线方面遇到了一些问题 通过大量的谷歌搜索,我发现了很多关于绘制虚线和多边形从OpenGL ES中删除的想法,因为它们可以很容易地使用纹理三角形进行模拟。这很好,但我找不到任何人真正进行这种模拟和/或描述所涉及的步骤 举个例子,我在尝试原型化这个概念时遇到的一个问题是,当线条走向地平线时,透视图会将它们挤压到看不见的位置。使用LINE_STRIP,不会发生这种情况,并且线条在地

Opengl es 相邻单元的纹理瓷砖出血(图像图集)

我有一个图像地图集,里面的元素排列在盒子里,互相挨着。当我对它们进行定位/缩放,使它们逐像素渲染时,一切正常。然而,当我开始进行亚像素定位时,我可以从地图集中相邻的图像中获得出血 如果我理解正确,这是由片段着色器,或者更确切地说是纹理位置插值引起的。纹理位置边界附近的像素最终将从相邻像素获得一些值 虽然我不确定,因为如果我做一些搜索,这个问题通常只会出现在使用mip贴图中的图层时。我的理解是正确的,还是我做错了什么?我知道如何修复它(对于平铺纹理和不平铺纹理),但我想首先确保基本知识正确无误。这

Opengl es ';无法获取wglGetExtensionsStringARB';适用于Android仿真器

实际上,我在eclipse中的Android应用程序有一个问题。当我运行我的程序时,它会给我一条消息,该消息总结了许多错误。 因此,我将它们复制并粘贴到这里,以向您展示仿真器的确切问题。有什么想法吗 Starting emulator for AVD Failed to create Context 0x3005 could not get wglGetExtensionsStringARB emulator: WARNING: Could not initialize OpenglES em

Opengl es opengles中的摄像机

我有一个场景如下: 三维长方体,其底部以原点为中心,四个矩形围绕长方体底部。我们可以认为它是一座四面都有街道的建筑。我想得到投影视图模型矩阵。我已经根据相机设置准备了投影矩阵和视图矩阵,但不确定模型矩阵。场景中的每个对象都有不同的模型矩阵,还是整个场景只有一个模型矩阵 立方体和矩形的模型矩阵是什么 我希望在建筑物四面的街道上移动摄像头。这两种方法都可以,但我建议为每个建筑物(立方体)单独设置一个模型矩阵,可能只包含平移。每个版本都有一个不同于原始版本的翻译。然后,在使用glDrawArrays(

Opengl es Xcode5赢得';“不允许帧调试器/分析”按钮变灰

Xcode 4.2+和Xcode 5为OpenGL ES提供了非常强大的调试器。直到最近,调试器本身经常崩溃(直到Xcode5.0它才可靠地为我工作),但它有时会禁用自身并拒绝运行 这是一个苹果应用程序,他们不关心错误消息,他们只是拒绝让您按下分析按钮: 我在苹果的文档中找不到任何可以“禁用”分析的情况。我知道它可以在这台机器上工作,因为它可以在不同的设备上正常工作 工作正常的设备: iPad3,运行iOS 6.x Xcode5拒绝使用的设备: iPad Mini,运行iOS 7.x

Opengl es opengles函数

如何在openGL ES中设置坐标?我已经在openGL ES中导入了我的3D对象,然后我使用GLTRANSTEF(x,y,z)来转换对象。但是,我可以问一下如何设置3d对象的坐标吗?有OpenGL的API吗?不使用gltranslate,因为gltranslate只是对对象进行简单的转换。但是,我希望x轴值和y轴值中的用户键使3d对象移动到该位置。谢谢。glTranslate是您想要的,没有其他功能可以执行相同的操作,这是移动对象的正确方式。我知道,并且我使用了glTranslate来移动我的

Opengl es OpenGL ES 2.0中的纹理点?

我正在尝试在OpenGL ES 2.0中为粒子系统实现纹理点(例如点精灵)。我遇到的问题是,这些点都渲染为实心黑色正方形,而不是正确映射纹理 我已经验证了gl_PointCoord实际上返回了从0.0到1.0的x/y值,这将映射到整个纹理。不过,texture2D调用似乎总是返回黑色 我的顶点着色器: attribute vec4 aPosition; attribute float aAlpha; attribute float aSize; varying float vAlpha; uni

Opengl es 对于OpenGL ES 2.0中任意数量的转换,在哪里计算模型和视图矩阵?

我正在用OpenGLES2.0编写一个小型2D游戏引擎。它可以工作,但是对于中等大小的场景,它现在感觉有点迟钝。我设计它是为了让每个游戏对象都是一棵节点树,每个节点都是一个基本形状(三角形、正方形、圆形)。每个节点都可以在创建时和运行时应用任意一组转换 举例来说,“head”节点是一个圆,它有一个子“hat”节点,该节点是一个三角形,通过平移变换将其移动到圆的顶部。现在,在运行时,我可以通过头部的动画平移变换来移动头部,帽子也随之移动。或者,我可以通过在帽子上应用旋转变换,在运行时动态地设置“帽

Opengl es iPhone iOS5查询OpenGL ES 2.0管道对象是否隐藏在视图中……”;闭塞;

EXT_occlusion_query_boolean是OS5.0的新功能 在我看来,整个互联网上似乎没有一个人发布过关于这些新扩展的信息,也没有使用过这些代码 所以在这里,它们被正确地设置了…据我所知,任何地方都没有记录。。。您可以从下面这个小sudo代码想象它们将如何进入您的代码: import UIKit/UIKit.h import GLKit/GLKit.h import "GLProgram.h" GLuint testBox,hasBeenTested,theParams;

Opengl es 图像不显示,显示错误,如;cocos2d:CCTexture2D:使用RGB565纹理,因为图像没有alpha“;

我正在使用Box2D制作一个应用程序,从资源库中获取图像,并将其显示为精灵 以下是我所做的代码: 从资产库获取图像: CGImageRef imgRef = [[mutArrAssetPhotos objectAtIndex:i] thumbnail]; CCTexture2D *spriteTexture = [[CCTexture2D alloc]initWithCGImage:imgRef resolutionType:kCCResolutionUnknown]; 创建纹理2d: CG

Opengl es 统一结构中的OpenGL ES 2.0 GLSL Mat4不';不行?

我正在为Android 2.3+构建一个原生活动应用程序。三星Galaxy S3 OpenGL ES 2.0 GLSL着色器似乎没有正确使用我的mat4统一结构变量!GLSL示例: struct SceneStruct { mat4 modelViewProjectionMatrix; }; uniform SceneStruct scene; 这在我的桌面Linux版本上确实有效,但在Adreno中为Android(ARMEABI-V7A)编译时,它不起作用。但是,如果我将其展平(将其

Opengl es +;1个带有自定义按钮的按钮

我有一个运行OpenGL ES的游戏,所以我根本不使用Android的UI组件(除了surface view)。我想做的是在我的游戏中有一个指向Google Plus的链接,玩家可以按下该链接并向他们在Google Plus中的朋友推荐我的游戏 我在Android开发者指南中找到了一个示例,说明如何在Java中实现这一点。只需添加一个PlusOneButton,它就能正常工作。问题是,将Android UI与我的基于OpenGL ES的UI框架结合起来真的很困难。这就是为什么我想自己做。我已经有

Opengl es 最佳采摘方式

读取opengl规范=>后,可以读回当前帧缓冲区中的像素 所以我想知道为什么在一些三个js示例中,他们使用2个缓冲区,一个在屏幕上,一个在屏幕下进行拾取 有人能解释一下为什么吗?为什么不读回当前帧缓冲区中的像素 Thx屏幕外缓冲区为每个对象分配了一种单独的颜色,这样,当前像素颜色可以识别正在拾取的对象 如果使用屏幕上的帧缓冲区,在多个对象具有相同颜色的情况下,您将无法分辨拾取的对象

Opengl es OpenGL优化-重复顶点流或重复调用GLD元素?

这是针对Android上的OpenGL ES 2.0游戏,尽管我怀疑正确的答案对于任何OpenGL情况都是通用的 TL;DR-是否最好将N个数据发送到gpu一次,然后使用它进行K个draw调用;或者将K*N数据发送到gpu一次,然后进行1次抽签调用 更多详细信息我想知道适合我的情况的最佳做法。我有一个动态网格,每一帧我都会重新计算它的顶点——把它想象成一个水面——我需要在我的游戏中将这些顶点投影到K个不同的四边形上。(在每种情况下,投影都略有不同;保留细节,您可以将它们想象为围绕网格的K个不同的

Opengl es OpenGL ES 2.0步幅性能

结构(包含顶点数据)的大小是否会影响中的性能 例如: struct VertexData1 { float x, y, z; } struct VertexData1 { float x, y, z; float variable1, variable2; //any amount of variables } 现在,以下各项之间是否存在性能差异: struct VertexData1 d1; glVertexAttribPointer(index, 3, GL

Opengl es 如何在opengl Es 2.0中部分重画

根据我的需要,我想为每一帧只重绘场景的一部分 仅当部分场景被更新时,才重新绘制整个场景 在OpenGLES2.0中有没有这样做的方法? 请对此进行任何输入都将非常有用OpenGL并不真正支持增量渲染。每次要求重新绘制时,都需要绘制整个帧 我能想到的最接近的方法是使用FBO(帧缓冲区对象)将静态数据渲染到屏幕外的帧缓冲区。如果你寻找像“OpenGL FBO”这样的关键词,你应该能够在网上和书中找到大量的例子。您将使用诸如glGenFramebuffers(),glBindFramebuffer()

Opengl es 在OpenGL着色器中进行main之外的计算是否合理?

我有一些类似以下的顶点着色器代码(这是一个简化的示例): 特别是,viewportScale矩阵是从主函数外部的uViewportuniform计算出来的。从浏览器(WebGL)使用它,它似乎可以在我测试过的每台机器上正常工作。。。特别是,当我更改uViewport变量时,viewportScale矩阵会正确更新。这样做与在主函数内部进行相同的计算有什么区别吗?我找不到任何与此相关的例子或讨论 我遇到了一个让我对这个问题有点偏执的问题——至少,我想知道发生了什么。这不是GLSL ES 1.00中

Opengl es Opengl ES漫反射着色器不工作

我正在片段着色器中为球体实现简单的光线跟踪,目前正在开发一个函数,该函数用于计算漫射着色球体的颜色。以下是该函数的代码: vec3 shadeSphere(vec3 point, vec4 sphere, vec3 material) { vec3 color = vec3(1.,2.,3.); vec3 N = (point - sphere.xyz) / sphere.w; vec3 diffuse = max(dot(Ldir, N), 0.0);

Opengl es OpenGL ES 2.0纹理映射用于在树莓圆周率上填充四边形

我试图设置我的顶点和纹理坐标,这样我就有一个四边形(2个三角形)覆盖整个OpenGL窗口。然后,当我从相机接收图像时,我想更新纹理 它正在工作,只是我的流纹理从未填充整个屏幕,并且纹理像素在预期纹理之外重复(请参见下面的图像) 如何设置顶点和纹理坐标,使纹理在不重复的情况下填充四边形 以下是我如何生成纹理: glGenTextures(1, &m_dataFrame); glBindTexture(GL_TEXTURE_2D, m_dataFrame); glTe

Opengl es SDL2和OpenGL ES 3.0

我正在尝试将SDL2(最新的主分支)设置为在Windows 7 64位桌面上使用OpenGL ES 3.0 我需要像glew这样的东西吗?据我所知,Nvidia驱动程序允许ES3.0环境本机运行,但我可能错了 我需要这样的模拟器吗: 我从Khronos网站下载了ES3.0标题,但真的不确定链接什么

Opengl es 实施仅深度通行证的最小步骤

我有一个现有的OpenGL ES 3.1应用程序,它通过颜色和深度/模具附件将场景渲染到FBO。它使用常用的绘图方法(glBindBuffer、GLDrawArray、glBlend*、glStencil*等)。我现在的任务是创建一个仅深度的过程,该过程使用与主过程相同的值填充深度附件 我的问题是:实现这一点和避免GPU做多余工作(不必要的着色器调用等)所需的最少步骤数是多少?停用颜色附件是否足够,或者我是否还必须设置空着色器、禁用混合等?我假设您在运行主过程之前需要此功能,否则您只需保留主过程

Opengl es OpenGL ES中虚拟纹理与纹理表的效率比较

一般认为,使用一个大纹理“图像”包含许多小纹理(想想字体表)比将每个纹理分开要快。性能的改善有多大?它会明显更快还是会有轻微的改善 它会明显更快还是会有轻微的改善 这取决于您使用的纹理数量。如果纹理很少,可以使用单独的纹理。如果您正在创建一个包含许多纹理(确实很多)的大世界,那么atlas纹理是一个合适的解决方案 这一切都是因为OpenGL是一个状态机,而状态机上的每一次更改都要付出代价。执行许多glBindTexture()调用代价高昂,因此只需将其与您拥有的纹理数量进行比较即可

Opengl es OpenGL ES:如何使用颜色着色纹理

我有阿尔法的纹理。我想用一些颜色给它着色,所以它将根据颜色alpha值来着色,但总体不透明度将仅由纹理alpha定义 这类似于多重纹理,但使用颜色而不是第二纹理。 怎么做 (更新) 我已尝试设置纹理组合器。颜色着色很好,但alpha存在问题-它不从纹理中获取值(如遮罩)。 我现在的代码是: glActiveTexture (GL_TEXTURE0); // do we need stage #1? glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL

Opengl es OpenGL、GL_调制和多文本

我已经成功地绘制了一个多纹理多边形,但不幸的是,整个纹理区域只使用了叠加纹理的第一个像素 以下是纹理(GL_纹理0和GL_纹理1): 结果是: 仅使用顶部的红色像素。我试过在顶部加一个1x1的蓝色像素,我用蓝色叠加得到了同样的结果 我的代码: glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisableClientState(GL_COLOR_ARRAY); const CGPoint ve

Opengl es webGL中的二维图形

更新:此代码实际上有效。我的bug是对glViewport的一次偶然呼叫;在webGL中,这似乎是浏览器窗口锚定的,而不是画布相关的,它将所有内容都推离了屏幕。因此,本问题中的代码显示了如何为WebGL创建正确的正交投影: webGL没有2D。我从以下地方复制并转置了OpenGL矩阵: 然后,我使用createOrtho2D(0,canvas.offsetWidth,canvas.offsetHeight,0)设置投影均匀性 例如,createOrtho2D(01024768,0)= 我用gl.

Opengl es opengl 1.1 renderbuffer生成只执行960px而不是1136px宽度

我目前正在将我的iPhone游戏移植到iPhone 5的分辨率。我包括了默认值-568h@2x.png及 [[UIscreen mainScreen] bounds].size; 给了我iPhone 5的分辨率(320x568px)。但是我在OpenglES 1.1中创建的renderBuffer只能获得旧的iPhone分辨率(640x960px)。创建渲染缓冲区的方式如下所示: glGenFramebuffersOES(1, &viewFramebuffer); glGenRende

Opengl es OpenGL ES:避免纹理之间出现白线

我正在制作一个天空盒,在每个纹理之间有一条很小的白线, 顶点和纹理的坐标看起来还可以(只有1和-1,所以我看不出有任何可能失败的地方) 有什么办法解决这个问题吗?TL;DR:简单的解决方案:使用立方体贴图纹理 说明: (只有1和-1,所以我看不出我会在那里失败) 纹理坐标-1和1不会落在像素中心。这基本上是一个围栏问题,我在这里解释过 请注意,在skybox的情况下,通过在六个单独绘制的四边形上不使用6种不同的纹理,而是使用立方体贴图纹理,其中六条边包含在球体拓扑中的一个连续图像中,可以很容易

Opengl es iOS runLoop和openGL

我正在构建一个使用openGL的iOS应用程序,我有以下问题: 我有一个特定的对象,我想在我的视图上显示。如果我在视图中只画一次,效果就很好。但是,如果我将drawView函数添加到runLoop,它会完美地调用该函数,但它不会绘制任何内容,只留下一个空白的白色屏幕 redraw是一个标志,指示何时再次绘制场景的绘制功能 我希望以下代码在每次绘制对象时旋转对象: static double theta = 0; theta += 0.03; glRotatef(theta

Opengl es 我可以将OpenCL与Monogame一起使用吗?

我在看一个开发的Monogame。该网站提到它有OpenTK“在引擎盖下”。这是否意味着我可以使用Monogame可靠地访问OpenCL,或者OpenCL已经被拆分为Cloo?我的主要目标是跨平台、高性能的OpenGL ES和OpenCL。啊,我的理解是Cloo是OpenCL的.NET包装器,所以如果您正在进行单游戏开发,我想您会使用Cloo,它应该可以让您访问OpenCL中所需的一切。稍微浏览一下源代码,我注意到XNA库被大量使用。就OpenTK而言,我主要注意到它在linux和MacOS中用

Opengl es 只渲染一次OpenGL,而不是每帧渲染一次

几乎我看到的每一个OpenGL ES示例都涉及到它更新每一帧,即使图像本身没有以任何方式移动 我做了一些测试,我发现只渲染(使用drawArrays等),然后只显示一次渲染缓冲区(这两个操作一起),然后在屏幕上进行更改之前,不要再执行任何一个操作 这是“正常”吗?我只是觉得这没什么用。绘制后,图形将保留在屏幕上,而无需额外的恒定渲染 这可以接受吗?是的,它可以接受并且完全有效。当上下文丢失时,还需要考虑重新渲染。举个例子,使用Android标准OpenGL助手类,有一个选项仅在需要时绘制,而不是

Opengl es 屏幕上的深度纹理

我试图在我的屏幕上获得深度纹理,我总是得到一个空白屏幕。我不确定我做错了什么。我看到过一些关于将FBO绘制成“四边形”的帖子,但我不清楚如何做到这一点。 这是我的代码(我正在使用深度纹理扩展,如下所示): 这是我的渲染功能: function drawOverlayTriangles() { gl.enableVertexAttribArray(shaderProgram.aVertexPosition); gl.enableVertexAttribArray(shaderProgram.aT

Opengl es 如何将值数组作为统一传递,以及如何在cocos2djs中创建纹理

这几天我一直在尝试实现着色器功能,但我没有找到解决方案。我不知道着色器支持的确切状态,因此我不知道我要问的是否可能: 1.-如何将值数组传递给着色器 我发现有些函数是为web编写的,但不是为native编写的。例如: 使用2Fv设置UniformLocation 这可能是我想要的,但在native中没有定义。有没有办法将浮点数组传递给着色器? 统一的目标是这样的:统一的向量2位置[30] 2.-替代1。传递带有个性化值的纹理也很好 所以现在我的问题是如何创建一个纹理(1D,或者如果这不可能是2D

Opengl es OpenGL着色器中图像的径向显示

我正在玩一个着色器概念,使用OpenGL ES中的着色器径向显示图像。最终目标是通过丢弃渲染完整循环进度纹理的片段着色器中的片段来创建循环进度条 我已经把我的想法编码好了,这样你就可以玩了。我似乎无法让它工作,而且由于没有调试的方法,我很难找出原因 以下是片段着色器的glsl代码: float magnitude(vec2 vec) { return sqrt((vec.x * vec.x) + (vec.y * vec.y)); } float angleBetween(vec2 v

Opengl es 关于变量构造函数的问题:

如果 那么,以下内容代表什么 vec3 myVec3 = vec3(1.0, 0.0, 0.5); // myVec3 = {1.0, 0.0, 0.5} vec3 temp = vec3(myVec3); // temp = myVec3 vec2 myVec2 = vec2(myVec3); // myVec2 = {myVec3.x, myVec3.y} myVec4 = vec4(myVec2, temp, 0.0); // myVec4 = {myVec2.x, myVec2.y,

Opengl es OpenGL ES 1.1是否可以同时使用顶点颜色和照明?

如果我有一个使用顶点颜色的网格,然后启用GL_照明,那么顶点颜色将被忽略,并由计算的照明替换 在OpenGL ES 1.1中,有没有一种方法可以同时使用这两种颜色-顶点颜色和动态照明 谢谢 您可以使用 glEnable(GL_COLOR_MATERIAL); 使材质参数跟踪当前颜色。在桌面OpenGL实现中,还需要配置颜色是否应用为漫反射值的环境光,在OpenGL ES中,我认为这两种颜色都适用。但是如果我想可视化每个顶点的某些网格属性,该怎么办?@Mat,我不确定我是否理解您的评论,但是使用

Opengl es GluLook:有什么好的教程吗?

我正在寻找一个好的,易于理解的教程或写上函数的使用glulookat 特别是关于上方向向量的最后3个参数。它如何影响在屏幕上查看的图片的方向 gluLookAt eyeX,eyeY,eyeZ,centerX,centerY,centerZ,upX,upY,upZ upX,upY,upZ 指定上方向向量的方向这是您的文档: 总之,gluLookAt需要3个向量:眼睛、中心和向上,每个向量都需要一个X、Y和Z坐标 前两个向量是位置,第一个是眼睛,表示相机所在的位置,第二个是相机应该指向的位置 问题是

Opengl es webgl和opengl es之间的区别是什么?

我在互联网上搜索时发现了webgl和opengl es for 3d游戏浏览器。但我不明白这两种api之间有什么区别。WebGL基于OpenGL ES,但区别在于它是用HTML5画布作为GL上下文的容器编写的。它还定义了一组新的JavaScript函数,这些函数可通过启用GL上下文的画布DOM使用 OpenGL ES是一个独立于平台的渲染API规范。浏览器和HTML5画布是一个平台,而WebGL是OpenGL-ES-2在这个平台上的派生

Opengl es 如何在透视模式下实现抗锯齿?

我想画一些平行线。起初,我使用了gl.LINES,但问题是,渲染线在屏幕上的任何点都有一个像素宽,无论它离相机是非常近还是非常远 因此,我渲染了薄矩形: 正如你所看到的,它们现在随着离相机越来越远而变得越来越薄,但现在我得到了所有这些难看的假像。在OpenGL/WebGL中是否有一种“正确”的方法可以做到这一点?如果您使用的是GLUT,您可以尝试类似的方法- glutInitDisplayMode(GLUT_MULTISAMPLE);// along with all the other fl

Opengl es opengl中的阴影伪影

我试图渲染一个对象和两个灯光,其中一个灯光投射阴影。一切正常,但我注意到有一些明显的瑕疵,如下图所示,一些阴影似乎溢出到明亮的区域 下面是将深度信息渲染到帧缓冲区的着色器 <script id="shadow-shader-vertex" type="x-shader/x-vertex"> attribute vec4 aVertexPosition; uniform mat4 uObjMVP; void main() {

Opengl es 渲染图像中的Open GL单行

我正在尝试使用Open GL-ES播放视频。我能够创建窗口、曲面、着色器、程序和设置顶点属性。但是图像显示不正确。在整个帧中仅渲染图像中的一条垂直线。我是OpenGL新手,无法解决这个问题。我已附加预期图像和当前渲染图像。仅渲染原始图像右下角的像素。有人能帮我吗 我解决了这个问题- 我设置了不正确的纹理比例位置 正确的一点: glUniform2f(gl_tex_scale_loc[0], 1, 1); glUniform2f (gl_tex_scale_loc

Opengl es OpenGL&;中的顶点数组是什么;WebGL2?

我使用WebGL1已经有一段时间了,但是现在我正在学习更多关于WebGL2的知识,我不知道顶点数组s实际上做什么。例如,在下面,我可以删除所有对它们的引用(例如,创建、绑定、删除),并且示例继续工作。 这在别处已经解释过,但是您可以考虑WebGL1和WebGL2都有顶点数组。只是WebGL1默认情况下只有一个可以创建多个顶点数组的WebGL2(尽管99.9%的WebGL1实现都支持它们作为扩展) 顶点数组是所有属性状态加上元素\u数组\u缓冲区绑定的集合 您可以这样想WebGL状态 类WebGL

Opengl es GLSL:为什么这个bloomEffect和GlowEffect代码只输出黑白图像?

当我在android/iOS下使用TblomeEffect和TglomeEffect Delphi组件时,openGL只能生成黑白输出:在windows DX11下,工作正常。我猜这是delphi源代码中的一个bug,但我无法找到下面我从delphi源代码中提取的原始GLSL代码中的错误: 使用效果: 和使用: 这两个GLSL代码只以黑白形式输出有什么问题?因为delphi中的一个错误 好的代码是: varying vec4 TEX0; vec4 _ret_0; vec3 _TMP4; vec3

Opengl es GLSL lowp:语法错误

为什么下面的着色器不是在OpenGL(桌面)上编译,而是在OpenGL ES 2.0(iPhone)上运行良好(我使用相同的c/c++代码在两个平台上加载、编译和链接着色器)。 我的碎片着色器: varying lowp vec4 colorVarying; void main() { gl_FragColor = colorVarying; } 顶点着色器: attribute vec4 position; attribute vec4 color; varying vec4 c

Opengl es glsl es 2.0丢弃和深度缓冲区

OpenGL ES 2.0无法写入深度缓冲区,因为它没有gl_FragDepth,但如果我放弃它会影响深度缓冲区吗(我的意思是,不要用当前gl_FragCoord.z覆盖它,而是保持原样) 大概是这样的: void main() { if (sin(x) > 0.5 ){ discard; } else { gl_FragColor = (1.0, 1.0, 1.0, 1.0); } } 我希望在深度缓冲区中有漏洞,在丢弃的情况下。你说的“Ope

Opengl es 使用纹理坐标在纹理上绘制SceneKit

我有一个Collada模型,我把它加载到SceneKit中。当我在模型上执行命中测试时,我能够检索被命中模型的纹理坐标 有了这些纹理坐标,我应该能够用颜色替换纹理坐标。 这样我就可以在模型上画画了 如果到目前为止我错了,请纠正我 到目前为止,我读了很多文章,但我只是没有正确理解我的着色器。 (虽然我确实得到了一些古怪的效果;-) 我的顶点着色器: precision highp float; attribute vec4 position; attribute vec2 textureCoor

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 46 页