Opengl es 在OpenGL ES中,如何加载具有透明像素的纹理?

然后正确显示?例如,在矩形中有一个圆球,同时可以看到背景中的另一个纹理 编辑:此时,当我加载纹理时,源图像中的透明像素显示为黑色。对于iPhone和N95,此功能: 如果要从原始数据加载纹理,请将“内部格式”和“源格式”设置为“GL_RGBA” glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE,

Opengl es OpenGL ES 2.0多线程

我一直在尝试使用OpenGLES2.0来制作一个照片查看应用程序。为了优化代码,我在用户向下滚动时更改加载了对象的纹理。但是图像加载到纹理中需要一些时间,因此效果不好。为了解决上述问题,我尝试通过以下方式使用多线程: 为新线程创建单独的上下文,然后与其他上下文共享资源(纹理对象) 使用多个线程和单个上下文。在线程中执行gl命令时,使上下文为当前上下文 但这两种方法都不成功。因此,如果有人在前面用opengl做过类似的尝试,你能告诉我上面的哪一个会起作用,以及我在做同样的事情时需要注意的事项吗?在

Opengl es 基于视图的应用程序中的OpenGL功能

我们可以在基于视图的应用程序中使用OpenGles功能吗 我的意思是,在基于视图的应用程序中,当按下按钮时,应用程序应转到OpenGLes view并显示图像处理应用程序。鉴于问题的模糊性,我所能做的就是向您指出并希望一切顺利。更多信息可能有助于获得更好的答案。请更具体地说明您想知道的内容。如果你写的是“基于视图”,那么“视图”是什么意思?一般的概念,比如MVC,或者某个特定的小部件类,或者完全不同的东西?可能是

Opengl es 如何在WhirlyGlobe中将带有UImage的纹理用作标签

我将WhirlyGlobe添加到我的项目中,效果很好。现在我需要添加图像作为标记,我使用如下代码。但似乎效果不太好。 标签在第一个字符的顶部显示一个白色区域。 以及控制台日志“Texture::createInGL()glGenTextures()” 我能做些什么来解决它 Texture *theTex = new Texture(@"icon", @"png"); theTex->setUsesMipmaps(true); SimpleIdentity theTexId = theTex

Opengl es opengl es纹理遮罩使用glTexEnvi在阴影中发光

我试图在使用glTexEnvi的黑暗面中实现阴影窗口中纹理遮罩部分的发光。 但我想我错过了一些重要的部分。呈现这种效果的正确方法是什么?我终于找到了解决方案。这里的缺点是双重渲染,但我有我的效果 gl.glEnable(GL10.GL_NORMALIZE); gl.glEnable(GL10.GL_TEXTURE_2D); // texture 0 texture.bind(); // main t

Opengl es OpenGLES:需要OpenGLES(1.x和2.0)API列表

我有一些OpenGL(桌面版)的背景知识。现在,我计划转到OpenGL ES。为此,我需要知道以下几点: 我在OpenGL中使用的API需要在OpenGL ES(1.1或2.0)中使用的对应API是什么 OpenGL ES 1.1和OpenGL ES 2.0中可用的API列表 这个问题可能是一个非常开放的问题。但是,通过在不同的网站上搜索,我找不到任何清晰的API列表。至少对于OpenGL ES 2.0,我可以找到一个规范文件,该文件在中可用。但是我找不到更多的细节。您需要查看和,其中包含您

Opengl es WebGL不同于同一图形堆栈上的OpenGL预处理器

Chrome对GLSL编译器的使用给我带来了一个有趣的效果。声明 #define addf(index) if(weights[i+index]>0.) r+=weights[i+index]*f##index(p); 不编译声明 preprocessor command must not be preceded by any other statement in that line 似乎不支持##语法。 但是,在相同的平台上(例如Linux 64位、Nvidia GPU),相同的着色

Opengl es 谁计算三角形内点的gl_FragColor?

如果要使用顶点着色器和片段着色器生成雾,常用的方法之一是在顶点着色器中计算顶点的距离,并在片段着色器中应用雾混合颜色 我的问题是,由于我们只计算三角形顶点的距离,OpenGL如何决定三角形内点的颜色?如果它是自动计算的,是否有方法控制计算?在OpenGL ES 2中,从顶点着色器传递到片段着色器的所有属性的值都是线性插值的,透视正确,覆盖正在着色的三角形表面 在OpenGL的其他一些版本中,您可以更改此行为 例如,对于雾,只要雾公式是世界空间上的线性函数,就可以将顶点着色器中的插值雾值混合到片段

Opengl es 如何使用Cocos2d游戏引擎将精灵切割成不规则形状?

如何使用Cocos2d游戏引擎将精灵切割成不规则形状? 我需要把这幅画展示成不规则的形状。不仅是一个矩形或其他一些规则形状,但任何形状我想要的。 有没有办法将精灵、纹理或图像切割成不规则的形状 据我所知,目前还没有API来存档。也许OpenGL是实现这一点的最佳方式,但我不知道如何将其归档并制作成CCSprite 我希望有人能帮助我,因为我真的很需要它。非常感谢。OpenGL可以帮助您实现这一点。您需要对所需的形状进行三角剖分,然后在您的绘图方法中用精灵的纹理填充它我使用Cocos2d 2.0的

Opengl es CCTransitionPageTurn在使用opengl后不工作

我正在使用CCTansitionPageTurn在场景之间切换。它适用于大多数场景,但我有一个使用gl绘制的着色场景。开始着色后,CCTransitionPageTurn不适用于任何场景过渡,即使是之前工作正常的场景过渡。(我仍然可以移动到另一个场景,但翻页效果被破坏) 我认为这可能与在调用转换之前更改gl状态有关,但恢复默认gl状态不起作用。代码中可能有很多地方存在问题,但这里有一些代码是我使用gl的地方 /* ColoringGameScene : CCScene, which handle

Opengl es 使用BlackBerry本机SDK处理触摸事件

我正在阅读,在他们的示例中,使用他们创建的一个助手库,该库包含在中,问题是现在我想,但是我不知道如何使用bbutil.h初始化使我的代码紧凑,这样我就可以利用触摸,同时拥有esUtil.h,这样我就可以利用像esRegisterDrawFunc,esRegisterUpdateFunc和esMainLoop这样的函数,我不知道如何使用bbutil。这是我的密码: #include <stdlib.h> #include <stdio.h> #include "esUtil

Opengl es “随机”;位置不适用于当前计划”;错误

我对WebGL有意见 有时,当我在我的应用程序中添加一个新的着色器时,当我在我的2D绘图函数中设置图像绘图着色器的统一时,我开始在每一帧获得uniform4f:location not for current programerror(显示在Chrome控制台中) 虽然我以前也有过几次同样的错误,但通过一些随机未知的操作来修复它们并不困难。然而,当我添加了一个屏幕扭曲着色器时,我尝试了我所能做的一切,甚至glFinish(我认为错误是由于去同步而发生的),但没有任何帮助 当我试图在控制台绘图功能

Opengl es 在opengl es 1.1中获取当前光栅位置

如何在opengl es 1.1中获取当前光栅位置,就像在opengl中一样,我们通过使用参数GL\u Current\u raster\u position调用glGet来实现这一点。有什么想法吗?因为在OpenGL ES中并没有光栅位置的概念,所以实际上并没有什么可以得到的。在ES中,您需要管理几何体的位置,并在应用程序中跟踪它,而不是让OpenGL(ES)为您管理它

Opengl es GLSL ES 2.0-UBO的替代方案?

从我读到的GLSL ES 2.0的invariant关键字来看,它听起来有点像是一个统一缓冲区对象提供的功能的同义词,因为多个着色器程序可以“共享”为各种输入提供的数据。我想知道的是,这是否可以作为UBO的替代方案。由于OpenGL ES 2.0似乎不支持UBOs,并且如果invariant关键字不能作为替代,是否可以使用扩展或其他方式获得类似的功能?invariant与统一缓冲区完全无关不变表示如果两个单独的着色器具有相同的输入值,并使用相同的表达式来计算不变限定的输出,则输出将保证在两个着色

Opengl es 使用片段着色器在二维多边形上绘制边界

我有一些简单的多边形(少于20个顶点)在简单的xy平面上渲染平面,使用GL_三角形和平面颜色,一个2d模拟 我想给这些多边形添加一个不同厚度和不同颜色的边框。我使用相同的顶点和glLineWidth/GL_LINE_循环实现了一些东西,这是可行的,但是是另一个渲染过程并重复所有顶点变换 我想我应该能够在片段着色器中使用gl_FragCoord和顶点数据和/或纹理坐标来实现这一点,但我不确定,我天真的尝试显然是错误的 我想象着下面的情形 uniform vec2 scale; // viewpo

Opengl es 多个GL纹理(实时)渲染速度太慢

我将同时绘制两个纹理。(来自不同的视频,实时获取不同的帧纹理…) 它运行良好,代码如下 // module 1--------------- { CVPixelBufferLockBaseAddress(cameraFrame, 0); int bufferHeight = CVPixelBufferGetHeight(cameraFrame); int bufferWidth = CVPixelBufferGetWidth(cameraFrame); // C

Opengl es 纹理过滤DirectX到WebGL

我们正在将用DirectX 9编写的旧代码移植到WebGL。我们偶然发现了一个bug,它似乎与纹理过滤有关 对于某些纹理,原始代码使用了以下内容: MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = POINT; Texture = <envCube1>; AddressU = WRAP; AddressV = WRAP; MinFilter=线性; 磁滤波器=线性; MipFilter=点; 纹理=; 地址u=包

Opengl es Opengl并排组合纹理 我现在使用Frutype库来向OpenGL ES 2应用程序(iOS和Android)渲染文本,我已经开始认真考虑性能了。我有一个纹理库(每个角色一个),每当我渲染文本时,角色从该纹理区域调用,然后opengl绑定到它,渲染到屏幕上。。。每封信!效率很低。所以,我正在寻找方法使其更快,我的一个想法是预先渲染每个单词,而不是每个字母。那么,现在来看一个大问题:如何将纹理并排组合?我知道我需要创建一个缓冲区,它将以某种方式来自FT\u LOAD\u CHAR,但我真的不太了解其他内容。

实际上,您误解了如何使用FreeType。您可以使用FT库加载字体,并将所有字符加载到单个位图纹理中。然后,您可以使用纹理坐标指向正确的UV。 这个链接可以在一定程度上有所帮助 实际上,您误解了如何使用FreeType。您可以使用FT库加载字体,并将所有字符加载到单个位图纹理中。然后,您可以使用纹理坐标指向正确的UV。 这个链接可以在一定程度上有所帮助 “非常低效。”为什么这样低效?你是在问如何从其他png制作png,还是只绘制组合png(纹理“图集”)的一部分?这是非常低效的,因为将纹理绑定到

Opengl es 如何使用C+在OpenGL ES 3.0中加载和显示图像+; 我试图在Android工作室上使用NDK,JNI来调用一个简单的应用程序来调用加载和显示图像的C++代码。我已经成功地创建了曲面并绘制了一个简单的三角形 现在,我正在寻找一种用C++在OpenGL ES 3中加载和显示图像的方法。我已经做了搜索,但所有的搜索对我来说要么太复杂,要么已经过时,要么是用Java编写的。如果有人能给我举个简单的例子,那就太好了。

经过努力,我终于做到了。下面是我的C++源代码。我使用stb_图像库加载图像 /* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtai

Opengl es 纯深度SSAO闪烁

我尝试使用OpenGL ES 2.0引擎实现纯深度SSAO。 现在我经历了闪烁,这看起来像是我从某个没有数据的地方读到的。 你能看到我哪里出了错吗?或者你有办法解决闪烁问题吗?我需要它在移动设备和html5上运行并进行正向渲染,这就是为什么我使用SSAO的仅深度版本。 非常感谢 视频: GLSL代码: uniform sampler2D texture0; uniform sampler2D texture1; varying vec2 uvVarying; vec3 GetNormalFr

Opengl es 如何计算SKShader添加到精灵后的当前时间?

着色器中的u_time变量告诉您当前时间。但是,如果重用着色器(即:“如果多个精灵需要相同的行为,请创建一个着色器对象并将其与每个精灵[…]),则u_time将从第一次将其添加到场景中开始继续计数。这使得使用着色器很难产生某些类型的效果,例如从黑色到白色的简单淡入,如下所示: void main() { float duration = 3.0; // seconds float progress = u_time / duration; gl_FragColor =

Opengl es GLSL-ES中的Max程序

可以在GLSL ES中编译的最大程序数是多少? 假设我创建了100个片段着色器,每个着色器都有不同的效果。所以在运行时,我编译所有这些代码,并用GluseProgramm动态地交换它们。 我假设每次我编译一个新的GLSL-ES程序时,它都保存在GPU的somwhere中。活动编译程序的数量是否有上限?没有上限。唯一的限制是由GPU或其驱动程序控制的可用内存或其他资源 同样,纹理对象或顶点缓冲区对象的计数也没有最大限制。没有最大限制。唯一的限制是由GPU或其驱动程序控制的可用内存或其他资源 同样,

Opengl es OpenGl ES 1.1屏幕坐标与顶点坐标

我正在一个程序中使用一个选择功能,该功能将选择最接近特定接触点的顶点(iPhone开发)。我找到这个点的想法是找到所有重要顶点的屏幕坐标,找到屏幕顶点,该顶点给出了接触点和该顶点之间的最小距离,然后使用该关系得到对象顶点和对象坐标 所以我的问题是,如何找到顶点的屏幕坐标?我正在使用VBOs。只需将GL\u投影和GL\u模型视图矩阵投影到顶点。由于gluProject在OpenGL ES中不可用,您必须自己执行投影 可能会有帮助,即使它处理NDS上的gl实现。但是,接受的答案对一般情况有效。Ope

Opengl es 是否可以在嵌入式平台上直接访问OpenGL ES 2.0纹理内存?

我正在基于OMAP 3530的平台上编写一些GP-GPU代码,但由于openGL ES 2.0中缺少GLGETEXIMAGE函数,我遇到了麻烦。由于该平台为GPU使用集成内存,我想知道是否有什么方法可以让指针直接指向内存中分配的纹理。这样我就可以读回我的数据,而不必通过帧缓冲区,帧缓冲区会丢弃大量数据。据我所知,没有办法做到您所描述的。最接近和最有效的方法是渲染到FBO,这种方法可以将纹理绑定为颜色缓冲区,并使用glReadPixels恢复像素。由于glReadPixels api,这仍然需要读

Opengl es 意外拉伸纹理

我有以下代码片段: ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MAG_FILTER, ctx.LINEAR); ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_MIN_FILTER, ctx.LINEAR); ctx.texParameteri(ctx.TEXTURE_2D, ctx.TEXTURE_WRAP_S, ctx.REPEAT); ctx.texP

Opengl es 有没有一种方法可以在OpenGL ES中获得以像素为单位的屏幕大小?

如何从OpenGL(ES)函数中获取以像素为单位的屏幕大小?您在哪个平台上开发?我认为没有办法,因为对于Android和iOS设备,当我阅读书籍和教程时,它们使用操作系统的视图/窗口大小管理器,而不是任何内置的OpenGL ES功能。对于图形api来说,缺少它似乎是一个奇怪的特性,这就是为什么我不愿意将其作为答案 同样重要的是,来自: 在调用glViewport之前,可以使用GL\u VIEWPORT调用glGetIntegerView。它将返回{0,0,窗口宽度,窗口高度)。如果你知道你的应用

Opengl es openGLES中的简单2D UV映射问题

我对低级openGL编码相当陌生,我有一个问题,可能是我太累了,找不到解决方案。我相信答案很简单,我正在做一些非常愚蠢的事情,但接下来 我有一个1024 x 512的纹理,我正在渲染一个2D四边形,它打算使用该纹理的一部分。该四边形与我尝试渲染的纹理部分大小相同,例如在顶点之间使用100 x 100来渲染100 x 100纹理部分。 假设基于零的像素坐标,纹理像素从0(s)到104(t),因此UV(st)计算为0/1024和104/512,范围为100/1024和204/512 然而,当我渲染四

Opengl es OpenGL自定义导航/选择

我有一个情况,我真的不知道我能处理。我有一个大约20k个顶点的openGl对象,我需要为用户提供选择这些顶点中任何一个的可能性(假设误差最小)。现在我要做的是: 在对象的3D画布旁边,我还为用户提供了3个由平面x=0完成的“切片”;y=0,z=0。比如说,对于一个球体来说,最简单的例子是3个圆,对应于“切割”出一个维度。现在让我们以z=0为例。当用户点击一个点时,比如说(x_圆,y_圆),我想得到他点击的3d表示中的实际点。z当然是0,但我想不出一个方法来得到x和y。我可以很容易地翻译(x\u圈

Opengl es 如何在float和vec4、vec3、vec2之间转换?

这个问题与这里的问题非常相关() 已经有一些文章或问题与这个问题相关,但我想知道大多数文章都没有确定哪种类型的浮动价值。 只要我能想出,下面有一些浮值包装/拆包公式 无符号规范化浮点 有符号规范化浮点 有符号范围浮点(我可以找到范围限制的浮点值) 无符号范围浮点 无符号浮点 签名浮动 然而,实际上这只是两种情况。其他包装/拆包可通过这2种方法进行处理 无符号范围浮点(我可以通过简单的位移位进行打包/解包) 签名浮动 我还想将带符号的浮点值打包并解包到vec3或vec2中 在我的例子中,浮

Opengl es iPhone OpenGL增强现实

我正在编写一个iOS应用程序(Xcode/swift),它可以在iPhone的后置摄像头上捕获实时图像。 我有一个透明的GLView,我想显示一些对象,以便制作增强现实。 我知道这架相机的视野(大约60°)。此值将传输到GLKMatrix4MakePerspective。 但规模与现实不符。 一个OpenGL的单位距离现实有一米吗?是否需要进行校准?还有哪些其他参数发送到MakePerspective?其他参数是GLKView的纵横比(宽度/高度),nearz=0.1,farz=10000我认为

Opengl es 实现行为类似于glColor4f的片段着色器

我想实现一个类似于glColor4ffixed函数方法的着色器 着色器: precision mediump float; void main() { gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); //gl_FragColor = vColor }; 绘图功能 glVertexAttribPointer(gvPositionHandle, 3, GL_FLOAT, GL_FALSE, 0, cube1); glDrawElements(GL_TRIA

Opengl es 为什么相机移动时我的灯光角度会改变?

尝试在WebGL中实现点光源时,我注意到放大时灯光角度发生了变化 我的顶点着色器: uniform mat3 u_rotationMatrix; uniform mat4 u_transformMatrix; attribute vec3 a_position; attribute vec3 a_normal; varying vec3 v_normal; varying vec3 v_viewCoords; void main() { vec4 tcoords = u_transfo

Opengl es 如何在OpenGL ES中绘制彩色矩形?

这容易吗?我不想使用纹理图像。我想创建一个矩形,可能是两个多边形,然后在上面设置颜色。一位自称对OpenGL略知一二的朋友说,我必须对所有东西都使用三角形,而且当我想要着色时,我必须对所有东西使用纹理。无法想象这是真的。您可以设置逐顶点颜色(所有颜色都可以相同)并绘制四边形。OpenGL ES的棘手之处在于它们不支持即时模式,因此与OpenGL相比,您的初始学习曲线要陡峭得多 这个问题涵盖了OpenGL和ES之间的区别: 您可以设置逐顶点颜色(所有颜色可以相同)并绘制四边形。OpenGL ES的

Opengl es opengl es-尝试实现全屏显示”;小径单缓冲区模式还是复制前缓冲区?

我试图得到一个全屏的“轨迹”效果,类似于这里的效果: 传统的方法是在渲染开始时不清除图像, 而是在一个大多边形上进行混合,该多边形是背景颜色,具有较低的alpha 在openGL ES中绘制多边形非常简单: glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); GLfloat clearRectPts[] = {

Opengl es 为什么雪碧配料器更快?

我现在正在读(马里奥·泽克纳) 在阅读OpenGL ES 1.0的2D游戏时,作者介绍了SpriteBatcher的概念,它为每个精灵提供坐标和角度。SpriteBatcher然后计算sprite矩形的最终坐标,并将其放入单个大缓冲区 在渲染方法中,SpriteBatcher为所有精灵设置一次状态(纹理、混合、顶点缓冲区、纹理坐标缓冲区)。所有精灵使用相同的纹理,但不使用相同的纹理坐标 这种行为的优点是: 渲染管道不会暂停,因为渲染所有精灵时没有状态更改 OpenGL调用更少。(=更少的JNI

Opengl es 如何读取WebGL中的深度缓冲区?

使用WebGL API,除了执行我自己的光线投射之外,我如何从深度缓冲区中获取值,或者以任何其他方式从屏幕坐标中确定3D坐标(即找到单击的位置?我不知道是否可以直接访问深度缓冲区,但如果您想要纹理中的深度信息,您必须创建rgba纹理,将其作为颜色附件附加到帧缓冲区对象,并使用将深度值写入gl_FragColor的片段着色器将深度信息渲染到纹理中 有关更多信息,请参阅我的一个旧问题的答案: 如果你在谷歌上搜索opengl es和阴影映射或深度,你会找到更多的解释和示例源代码。在第节中,你似乎无法直

Opengl es OpenGL ES中GL_无符号_短_4_4_4_4_4和GL_无符号_短_5_6_5之间的差异

有人知道OpenGL ES中GL_UNSIGNED_SHORT_4_4_4_4_4_4_4和GL_UNSIGNED_SHORT_5_6_5数据类型之间的区别吗?我不是OpenGL专家,但: GL_UNSIGNED_SHORT_4_4_4_4_4代表GL_UNSIGNED_SHORT_R_G_B_A,其中每个RGBA值可以有一个4位的值(也就是2^4) GL_UNSIGNED_SHORT_5_6_5代表GL_UNSIGNED_SHORT_R_G_B。您可以看到此处没有可用的Alpha值,因此这是一

Opengl es 打开GL ES纹理:将颜色的透明颜色| | alpha设置为零

我有一个纹理,我想将单一颜色(例如(255255))的alpha设置为0 我现在使用这个调用(self.texture是cocos2d中的CCTexture2D) 纹理显示完美。我希望您能帮助我。使用OpenGL命令无法做到这一点。您必须使用着色器过滤特定颜色的像素,或者在逐像素循环中修改baseAddress处的像素数据,然后再将其上载到glTexImage2D 我不确定我是否理解这一点,而且我对opengl还相当陌生,但我认为你只希望一种颜色是透明的,难道你不能使用 gl.glblendfu

Opengl es 绘制草图并打开GL ES

您好,我已在Sketch Up中创建了一个模型,希望导出if以用于我的open GL ES应用程序。我的问题是。我是否需要指定输出为所有三角形而不是多边形。很明显,ES不支持其他形状。如果是这样的话,我该怎么做呢?因为OpenGLES只支持三角形,是的,你必须将多边形分割成三角形。将面拆分为三角形的过程称为“三角剖分”。快速的谷歌搜索告诉我sketchup没有用于此的本机功能,因此您可能必须安装类似于此的插件:

Opengl es 如何将多边形正确分组到阵列中?

我想在OpenGL ES中渲染场景,但我遇到了一个问题 因为ES中没有即时模式,而且使用单个多边形缓冲区模拟即时模式速度很慢,所以我不能只切换纹理和跳过不可见多边形,所以我必须对多边形进行分组 以下是不同多边形的特征: 漫反射纹理(mipmapped,很多) 光照贴图纹理(打包,最多64个纹理) 能见度 起初我想只按可见性区域对多边形进行分组,但我找不到使用纹理索引数组的方法 那么,如何正确地为要渲染的多边形创建缓冲区呢?我将使用纹理子组创建可见性组。Quake使用64个128x128光照贴

Opengl es Cocos2D:openGL es在UIView上变得透明

出于Cocos2D功能之外的原因,我需要使其透明并显示UIView的背后 除非在特定情况下,否则此操作正常。当精灵的不透明度变得更透明时,它会使在其下绘制的Cocos2D中的所有其他内容变得透明,这是由于某种原因,使我的UIView显示出来 第一幅图上显示的是水彩画,用Cocos2D绘制,可以看到山和山下的天空。第二幅图像是相同的,除了在Cocos2D中,有一个黑色精灵以半透明度覆盖了整个屏幕,出于某种原因,这使得它下面的UIView显示出来。在我的例子中,这是最明显的地方,那就是透过水砖看到的

Opengl es Adreno GPU-片段着色器:函数中的texture2D导致glLinkProgram崩溃

我们有一个奇怪的问题。texture2D调用在直接使用时有效,但在具有返回值的函数中使用时无效 该设备是三星S3,SPH-L710,安卓4.0.4,Adreno 225 我们正在使用的代码用于Tegra、PowerVR、Mali等。。但不是在肾上腺上 示例代码: vec4 myTex2D(sampler2D s, vec2 uv) { return texture2D(s, uv); } void ShaderRun() { IShaderNode_SetOutputColor0(m

Opengl es 将多个重叠的非不透明纹理渲染到帧缓冲区

我试图将一组纹理几何体渲染到单个FBO,然后将该FBO渲染到场景。问题是该几何体的重叠半透明区域没有正确渲染。它们最终变得过于不透明和黑暗。 如果我将几何体直接渲染到场景,它将正确渲染,但我需要首先将其渲染到FBO 顺便说一下,我使用以下方法进行混合(根据): 向FBO渲染几何体:glBlendFuncSeparate(GL\u SRC\u ALPHA,GL\u ONE\u减去grc\u ALPHA,GL\u ONE,GL\u ONE) 将FBO渲染到场景:glBlendFunc(GL\u O

Opengl es GLES 2.0矩阵旋转不适用于小于180度的角度值

我试图实现多重旋转。当我执行180度旋转时,代码工作正常,但如果角度值小于该值,它要么执行平移,要么执行缩放,但不执行旋转。 请建议这里出了什么问题,或者其他实现同样目标的方法 public class myRenderer implements Renderer { private int TexProgram; private int TexAPosLoc; private int TexAColorLoc; private int TexACoordLoc;

Opengl es sobel filter Opengl ES中不必要的网格线

我的目标是在Opengl ES中创建sobel过滤器。我正在使用Netbeans IDE。在调试模式下一切正常,但在发布模式下我得到了网格线。代码在raspberry pi上运行 有人能帮我把这些线去掉吗 这是片段着色器代码 varying vec2 tcoord; uniform sampler2D tex; uniform vec2 texelsize; void main(void) { vec4 tm1m1 = texture2D(tex,tcoord+vec2(-1,-1)*

Opengl es 片段着色器是否有时间限制?iOS使用Brad Larson提供的带有GPUImage的过滤器

我正在iOS 8上使用Brad Larson的优秀库GPUImage 我遇到了一个问题过滤器,它只完成了3/4的任务/片段,在单个图像上运行,但有多个过滤器: 从我正在做的测试来看,我似乎违反了时间限制或缓冲区大小,但奇怪的是,它看起来更像是一个时间限制。。。尽管情况可能并非如此,但更有可能的是,我在某个地方被淹没了 如下图所示,我正在GPUImage中运行一些普通的过滤器,然后应用我在最后创建的新过滤器,这需要5到8秒才能完成。我可以调整新过滤器的片段着色器中的循环数量,并看到它运行得更快,然

Opengl es 使用OpenGL ES绘制三维模型的轮廓

我需要添加这个经典效果,它包括通过笔划轮廓高亮显示3D模型,例如(没有透明渐变,只有实心笔划): 我找到了一种方法来实现这一点,它看起来很简单,也很容易实现。这家伙在玩模具缓冲区来计算模型形状,然后他用线框绘制模型,线条的厚度就完成了这项工作。 这是我的问题,线框。我使用的是OpenGL ES 2.0,这意味着我不能使用glPolygonMode将渲染模式更改为GL\u LINE 我被困在这里,我找不到任何简单的替代方法,目前我找到的最相关的解决方案是自己实现线框渲染,这显然不是最简单的解决方

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