Tag: opengl es

当试图编译这段代码时,为什么我会得到错误“error:unknown type name'virtual'”?

码: struct IRenderingEngine { virtual void Initialize(int width, int height) = 0; virtual void Render() const = 0; virtual void UpdateAnimation(float timeStep) = 0; virtual void OnRotate(DeviceOrientation newOrientation) = 0; virtual ~IRenderingEngine() {} }; 从3d iphone编程的书中学习opengles,它使用这个示例代码,但是本书是针对xcode 3.x的 不知何故,我觉得它与xcode 4的东西…. 编辑: 下面是实际的错误: / Users / Dan / Documents / opengles / Hello Arrow / Hello Arrow […]

EAGLView到UIImage颜色转换问题

我有一个EAGLView(取自苹果的例子),我可以成功地转换为UIImage使用此代码: – (UIImage *)glToUIImage:(CGSize)size { NSInteger backingWidth = size.width; NSInteger backingHeight = size.height; NSInteger myDataLength = backingWidth * backingHeight * 4; // allocate array and read pixels into it. GLuint *buffer = (GLuint *) malloc(myDataLength); glReadPixels(0, 0, backingWidth, backingHeight, GL_RGBA, GL_UNSIGNED_BYTE, buffer); // gl renders “upside down” so swap top to bottom into new array. […]

初学者指导在iPhone SDK中进行3D编程

我正在考虑开始一个项目来制作一个游戏,也许只是一个简单的游戏,但对于iPhone而言仍然是3D游戏。 虽然我还有很长的路要走,学习Objective-C等等,但是在思考3D游戏世界的时候,一个问题突然出现在我的脑海里。 在为iPhone做游戏之前,我会先学习OpenGL(PC / Mac)吗? 如果是的话,那么好的指南/教程在哪里呢? 而且,它是否存在免费/开源的iPhone的任何良好的OpenGL引擎?

如何从ARKit录制video?

现在我正在testingARKit / SceneKit的实现。 对屏幕的基本渲染是有点工作,所以然后我想尝试将我在屏幕上看到的video录制到video中。 只是为了loggingScene Kit,我发现了这个Gist : // // ViewController.swift // SceneKitToVideo // // Created by Lacy Rhoades on 11/29/16. // Copyright © 2016 Lacy Rhoades. All rights reserved. // import SceneKit import GPUImage import Photos class ViewController: UIViewController { // Renders a scene (and shows it on the screen) var scnView: SCNView! // Another […]

自定义着色器SCNProgram iOS 9 Scenekit

我试图在SceneKit中SceneKit并教导自己。 基本上,我正在创build一个有3个矩形边和1个倾斜滑块的四边形。 我希望我的纹理能够在表面上伸展和变形/变形。 在线阅读一些东西,似乎我需要用自定义顶点和片段着色器来制作一个SCNProgram来获得效果。 但是,我似乎无法让纹理在表面上传播。 需要帮助,请。 (我是graphics编程新手,因此试图自己教)。 我的Swift代码创build的几何和纹理如下: func geometryCreate() -> SCNNode { let verticesPosition = [ SCNVector3Make(0.0, 0.0, 0.0), SCNVector3Make(5.0, 0.0, 0.0), SCNVector3Make(5.0, 5.0, 0.0), SCNVector3Make(0.0, 3.0, 0.0) ] let textureCord = [CGPoint (x: 0.0,y: 0.0), CGPoint(x: 1.0,y: 0.0), CGPoint(x: 1.0,y: 1.0), CGPoint(x: 0.0,y: 1.0)] let indices: [CInt] = [ 0, 2, 3, 0, […]

从GLKView / GLKit获取默认帧缓冲区ID

我在我的IOS OpenGL ES 2.0项目中使用GLkit / GLKView来pipe理我的应用程序的默认FBO /生命周期。 在桌面OpenGL中,为了绑定默认的FBO(前台缓冲区),我只能调用glBindFrameBuffer(GL_FRAMEBUFFER,0),但是在iOS应用中并不是这样,因为你必须自己创build默认的FBO,并且它将有唯一的ID; 问题是GLKit / GLKView编码风格迫使我使用GLKView的“bindDrawable”函数来激活默认的FBO,这使得我的跨平台渲染系统的devise有点难看(必须将GLKView指针存储为void *在我的c ++引擎类和桥每次我想要执行默认的FBO绑定时将其转换) 有没有办法获得GLKit / GLKView创build的默认FBO ID,以便我可以存储和使用它绑定默认的帧缓冲区在我的代码中的任何地方? 在最坏的情况下,我可以恢复自己创build默认的FBO,并分离GLKit / GLKView,但它是一个很好的框架,我想继续使用它。 对不起,我的英文不好,并提前感谢任何答复。

开发iPhone游戏需要什么?

我是iPhone编程的新手,但是我已经在Java中有了很好的基础,并且开始理解Objective-C的工作原理。 我想开始开发iOs游戏 。 我需要学习Open-GL吗? 即使是2D游戏 (如“ 愤怒的小鸟” ,“ 剪掉绳子” ,“ 涂鸦跳跃”或“ 小翅膀” )? 我需要学习如何从简单的UI应用(button,滑块,标签等)切换到真正的游戏 ?

“这个UIView似乎是一个NSISVariable的代表,它不知道任何关于。 这是一个内部UIKit错误“错误

我正在开发一个opengl项目。 我已经使用了一些图像(2为XY尺度)和标签(8)在屏幕上显示比例。 我的第一个看法是从我去openglView的tableview 。 但是,每当我从openglView回到tableView它给了我这个错误和应用程序崩溃。 “这个UIView似乎是一个NSISVariable的代理,它不知道任何事情,这是一个内部的UIKit错误。 有什么build议么? 发生这种情况是因为我包含了太多的UI元素,除了那些图片和标签之外,我还使用了一些button。 我正在将affineTransform应用于这些图像和标签以及一个button。 确切的错误是: 2013-01-31 12:20:18.743 EMtouch[50496:12203] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '{ Rows: UILayoutContainerView:0x9835660.Height == 480 + 1*0x7e53030.marker + 1*0x7e546c0.marker UILayoutContainerView:0x9835660.Width == 320 + 1*0x7e52f90.marker + 1*0x7e54330.marker UILayoutContainerView:0x9835660.minX == 0 + 1*0x7e52ca0.marker + -0.5*0x7e52f90.marker UILayoutContainerView:0x9835660.minY == 0 + 1*0x7e52fd0.marker + -0.5*0x7e53030.marker UINavigationTransitionView:0x9837ea0.Height == 480 […]

OpenGL ES 1具有不同uv坐标的多纹理

我需要使用多纹理渲染对象,但是两个纹理对于同一个对象具有不同的uv坐标。 一个是法线图,另一个是光线图。 请提供任何有用的材料。

是OpenGL线程安全的多个线程与不同的上下文?

我知道在线程之间共享一个上下文是个坏消息。 我知道,当主线程上的GL没有发生任何事情时,我可以安全地在辅助线程上创build和使用带有屏幕外帧缓冲区的上下文。 对于是否可以在两个不同的线程上安全地创build两个上下文(比如,一个主线程在屏幕上绘图,另一个线程在屏幕外绘制工作),我还没有find一个明确的答案,并让他们同时进行GL函数调用。 换句话说,只要上下文不同,两个线程可以“共享”C API,从而GPU? 或者,这固有的东西是不可共享的? 或者是这个实现特定的? 在iOS上特别要求OpenGL ES,但这可能是一个普遍的GL问题。