opengl-es-2.0相关内容

在iOS上将CoreGraphics渲染为OpenGL纹理

在iOS上使用 CoreGraphics 非常容易使用,但是可以获取 CoreGraphics 的输出并将其放入 OpenGL Textures中? 最终目标是使用 CGContextDrawPDFPage 渲染性能卓越的pdf,并使用 将其写入特定的纹理ID. OpenGL.glBindTexture(GL_TEXTURE_2D,TextureNativeId); 它看起来确实像 ..
发布时间:2021-04-24 20:31:47 移动开发

用于视网膜显示的OpenGL ES 2.0纹理?

我有一个GLKView,我尝试在其中绘制几个多维数据集,并从视图中创建纹理并将其映射到多维数据集上.但是,当我在视网膜设备上启动该应用程序时,纹理的大小正确,但是看起来很糟糕.我试图将GLKView的contentScaleFactor设置为主屏幕的比例-无济于事.我还尝试将缓冲区的尺寸乘以比例,这导致纹理看起来清晰,但仅为原始大小的1/4 ... 事不宜迟,我可以向您介绍我所做的事情(没有 ..
发布时间:2020-07-23 02:33:26 移动开发

在iOS上使用OpenGL ES 2.0时,如何在两点之间绘制圆柱体?

我给了两个GLKVector3,分别代表圆柱体的起点和终点.使用这些点和半径,我需要构建和渲染一个圆柱体.我可以构建一个圆柱体,使它们之间的点之间的距离正确,但方向固定(当前始终沿y(0,1,0)向上).我不确定我需要进行哪种计算才能使圆柱体位于两点之间的正确平面上,从而使一条线穿过两个端点.我在考虑使用方向矢量或角度创建顶点数据时可以应用某种计算,这些计算将创建指向正确方向的圆柱体.有没有人有一 ..
发布时间:2020-05-21 00:48:55 移动开发

如何在OpenGL ES 2.0跨平台上画圆?

在过去的两周里,我一直在教自己如何使用openGL ES 2.0编程,但是我一直在努力绘制某些对象.我正在使用Mosync进行编码,因为我可以为所有平台编程.到目前为止,我已经编写了一个程序绘制一个三角形,另一个程序绘制一个正方形.我正在寻找画圆的方法,我知道我已经定义了中心,半径,角度和分辨率,但是我不知道如何使它起作用. 我可以直接从draw()绘制圆形,还是必须定义正方形的顶点并使用片 ..
发布时间:2020-05-21 00:48:53 其他开发

绘制开放的gl纹理的一部分

我试图仅画出我的子画面表的一部分.但是它只是缩放图像,而不会绘制图像宽度的1/3.我如何裁剪图像,所以只能显示1/3.文字在(ios 7,opengl es 2)-(GLKMatrix4)modelMatrix { GLKMatrix4 modelMatrix = GLKMatrix4Identity; modelMatrix = GLKMatrix4Translate(modelMatri ..
发布时间:2020-05-21 00:48:50 移动开发

OpenGL ES 2.0:带有VBO的glDrawElements之前需要的命令

我已经设置了带有顶点和索引数据的顶点缓冲对象(VBO).我还创建了一个GLprogram来使用自定义着色器,因此我在代码中调用了glUseProgram. 我的顶点数据每帧都会更改,因此我已经为我的两个glBufferData调用提供了GL_STREAM_DRAW(一个用于顶点数据,一个用于索引). 当顶点数据改变时,我使用glBufferSubData来修改它们的顶点数据区域.在每一 ..
发布时间:2020-05-21 00:48:44 其他开发

WebGL-使用多个纹理时的条纹

我在WebGL程序中使用了三个纹理,并且得到了条纹/重叠效果. 我绑定的第一个纹理可以,但是顺序纹理可以达到效果. 这是我的顶点数据格式(x,y,z,s,t,textureIndex,textureName) -5.0 0.0 -5.0 0.0 0.0 1 WL01 -5.0 0.0 5.0 0.0 1.0 1 WL01 5.0 0.0 5.0 1.0 1.0 1 W ..
发布时间:2020-05-21 00:48:36 前端开发

iOS:在EAGLView/GLKView顶部创建覆盖

我正在尝试在GLKView(实际上是EAGLView)之上创建覆盖.我知道性能会受到影响,但是在我的情况下这不是问题,因为场景在后台暂停,因此只需要保持可见即可. 我创建了一个名为ReaderView的自定义UIView,其唯一的自定义代码如下: -(CALayer*)layer { CATextLayer *textLayer = [[CATextLayer alloc] init] ..
发布时间:2020-05-21 00:48:34 移动开发

解释预乘alpha的工作原理

有人可以解释一下为什么从数学上讲,相同的预乘alpha(以及校正后的混合功能)渲染与“正常" alpha看上去不同吗? 我已经研究了这篇文章,以了解预乘alpha: http://blogs.msdn. com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx 作者还说结束计算是相同的: “查看常规与预乘alpha ..
发布时间:2020-05-21 00:48:32 其他开发

在Java中将4浮点颜色变为一种浮点,然后在openGL ES 2.0着色器中再次返回

我正在尝试向着色器发送的每个顶点都发送一种颜色,但是仅使用一个浮点值.我觉得很奇怪,您不能在每个顶点上发送4个字节作为属性,但是感觉我不可能尝试将RGBA打包到单个float变量中,所以这是我的代码: Jave代码(将值打包为一个浮点数): private float fourfColor2One(float r, float g, float b, float a) { lo ..
发布时间:2020-05-21 00:48:15 Java开发

更改GlSurfaceView渲染器

我在网上四处张望,以了解是否有可能在飞行中更改GLSurfaceView的渲染器.原因是我想更改OpenGl程序,并从其顶点和片段着色器启动所有属性和统一的参数,并且我不希望进行任何更改以使用全新的Renderer创建全新的GLSurfaceView. 似乎应该可以进行合理的操作. 解决方案 注意:我尚未实现以下内容. GLSurfaceView.Renderer 是一个接口. ..
发布时间:2020-05-21 00:48:11 移动开发

glGenBuffers返回0xffffffff作为缓冲区名称

我有以下代码(在iPhone上为OpenglES2.0): glGenBuffers(1, &tmp->m_vbo); 其中tmp-> m_vbo是无符号整数. 在大多数情况下,tmp-> m_vbo是有效的,并且一切正常,但是有时返回的值为0xffffffff,而我第一次尝试使用该vbo会在glDrawElements中崩溃. 有人知道这可能是什么原因吗? 谢谢. ..
发布时间:2020-05-21 00:48:06 移动开发

OpenGL ES 2.0-多个程序或着色器

我目前有两个程序,一个程序用于实线,并为实体填充一个顶点着色器,一个片段为实体的着色器填充,第二个程序针对纹理和纹理的顶点着色器,用于纹理的片段着色器.我使用glUseProgram交换两个程序,具体取决于我要绘制的内容.这是一个好的解决方案吗?还是应该通过单个程序来glAttachShader/glDetachShader? 解决方案 当然,您使用的是正确的解决方案.绑定其他程序应该开销 ..
发布时间:2020-05-21 00:48:04 其他开发

用纹理绘制多个对象

我想使用纹理绘制立方体. void OperateWithMainMatrix(ESContext* esContext, GLfloat offsetX, GLfloat offsetY, GLfloat offsetZ) { UserData *userData = (UserData*) esContext->userData; ESMatrix modelview; ESMatri ..
发布时间:2020-05-21 00:48:02 其他开发

GLEW是公正的扩展库还是包含OpenGL ES 2.0实现?

GLEW是公正的扩展库还是包含OpenGL ES 2.0实现? OpenGL扩展牧马人库(GLEW)是跨平台的 开源C/C ++扩展加载库. GLEW提供高效 确定哪些OpenGL扩展是运行时机制 在目标平台上受支持. OpenGL核心和扩展 功能显示在单个头文件中. 我很困惑,因为我在glew.h中找到以下内容: #define glLinkProgram GLEW_GET_F ..
发布时间:2020-05-21 00:47:57 C/C++开发

SCNProgram不影响SCNFloor

在使用shader修饰符的实验中,我发现无法将数组数据传输到shader. Scenekit在将数组数据传递到openGL着色器中的统一数组时给出缓冲区大小错误 由于这个原因,我决定尝试SCNProgram.但是现在我意识到我使用SCNProgram添加的着色器在SCNFloor上不起作用. 此问题是否有特定原因? 我用于测试的超级简单着色器; 顶点着色器 pr ..
发布时间:2020-05-21 00:47:53 移动开发

通过共享的C ++代码在ios和android上进行OpenGL ES 2.0抗锯齿或平滑

我对OpenGL和ES2.0还是很陌生.我已经共享了我用来在ios和android上绘制的c ++ opengl es2代码(使用ndk CMake)...它大部分都可以工作,但是现在我需要抗锯齿和其令人困惑的地方,我看到的解决方案取决于平台和android方面更令人困惑并且有局限性.我一直在寻找解决方案,但需要更多说明. 两者都应该起作用: 显然, Kronos RenderBuffer ..
发布时间:2020-05-21 00:47:51 移动开发

在Android OpenGL ES 2.0中最大程度地创建/删除纹理

我正在用本机代码编写游戏,所有图形均使用OpenGL ES 2.0完成.我尝试通过重复创建纹理并在不需要它们时删除它们(使用glDeleteTextures)来节省纹理的使用.我注意到OpenGL无论如何将永远不会重复使用相同的纹理ID,并且在精确创建192个纹理后,Android屏幕会变成白色(首先是部分,下一次加载使其完全变成白色),除非释放应用程序焦点并将其放回原处,否则它不会恢复.这是错误 ..
发布时间:2020-05-21 00:47:48 移动开发