我是iPhone编程的新手,但我有很好的Java基础,我开始了解Objective-C的工作原理.
我想开始开发iOs游戏.
我需要学习Open-GL吗?
即使是2D游戏(如" 愤怒的小鸟"," 割绳子"," 涂鸦跳跃"或" 小翅膀")?
从简单的UI应用程序(带按钮,滑块,标签等)切换到真实游戏,我需要学习什么?
如果我有兴趣在iPhone/iPAD上进行游戏开发,那么有哪些技术可以开始研究?事实上,只是关于这些技术的一个简单的子弹,突出它如何适合典型的游戏开发将是伟大的,因为这个问题的原因是我不理解这些如何组合在一起.所以在这种情况下,这些大致适合这里:
我得到的印象是cocos2D将成为可行的方式,它似乎是一个更简单的OpenGL包装器?不知道UIKit vs Core Animation与QuartzCore之间的位置是什么?
如何将自定义滤镜应用于相机输出中的单个帧,并显示它们.
到目前为止我尝试过的:
mCamera.setPreviewCallback(new CameraGreenFilter());
public class CameraGreenFilter implements PreviewCallback {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
final int len = data.length;
for(int i=0; i<len; ++i){
data[i] *= 2;
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然它的名字包含"绿色",但我实际上只是想以某种方式修改这些值(在这种情况下,颜色会稍微加强一些).长话短说,它不起作用.
我发现字节数组'data'是摄像头输出的副本; 但这并没有真正帮助,因为我需要'真正的'缓冲区.
我听说你可以用openGL来实现它.这听起来很复杂.
有没有更简单的方法?否则,这个openGL-surfaceView映射将如何工作?
您好我想在android中创建动态用户面部模型并显示给用户.
我搜索并发现我需要用户不同角度的面部框架(图像),如14到16个图像,并且为了显示目的,需要使用opengl(用于平滑度)在用户手指滑动上更改图像(框架),使其看起来像3D图像.
但是我希望像每个框架中的一些编辑(佩戴耳朵)并向用户显示,如
https://lh3.googleusercontent.com/WLu3hm0nIhW5Ps9GeMS9PZiuc3n2B8xySKs1LfNTU1drOIqJ-iEvdiz-7Ww0ZX3ZtLk=h900
请给我一些建议或示例.
我决定在Kivy跨平台上做一些编程,并成功地在我的计算机上安装了Kivy.问题是,当我运行我的代码时,我收到此错误:
[INFO ] [Kivy ] v1.9.1
[INFO ] [Python ] v3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AMD64)]
[INFO ] [Factory ] 179 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO ] [OSC ] using <thread> for socket
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] OpenGL version <b'1.1.0'>
[INFO ] [GL ] OpenGL vendor <b'Microsoft Corporation'>
[INFO ] [GL ] …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用最新的适用于Android的Google VR SDK(v1.0.3)开发VR视频播放器,但是没有用于构建VR播放控件的高级API.
YouTube VR播放器使用旧版本的gvr工具包并com.google.android.libraries.youtube.common.ui.TouchImageView以某种方式呈现控件(例如).

使用最新VR SDK实现此类控件的最佳方法是什么?我是否需要在OpenGL或NDK中使用自定义渲染器?
我非常感谢实施细节.
我是一个相当"新手"的Android开发人员,我希望我的第一个项目之一是一个动态壁纸,但是我是否应该关注Canvas或OpenGL是否存在冲突.作为新手,我知道我应该首先掌握Canvas,因为它更容易使用,但我更喜欢从我感兴趣的现实世界项目中学习,即使它有时有点倒退.
我之前以非常基本的方式使用过这两种方式,并且我理解它们的一般概念,但我不确定它们如何转移到动态壁纸的领域.我认为在动态壁纸上不需要OpenGL的全速运行,因为以最大FPS运行它会比电池耗尽更多,但与此同时我担心使用Canvas会导致滞后和在做更换主屏幕等事情时会口吃.
我一直倾向于使用OpenGL ES 2.0,以保持性能最佳,因为我对壁纸的初步想法涉及很多分层,我不确定Canvas是否有能力,但我希望更有经验的开发人员对是否有意见或者不是所有涉及使用OpenGL的额外工作(特别是与我看过的动态壁纸有关)是值得的.
我正在使用OpenCV,Android和OpenGL进行增强现实项目.据我所知,OpenGL中的coordintate系统是

OpenCV坐标系是:

将这些设备与Android传感器组合时,如何进行坐标系转换和[R | t]矩阵转换?是否有一个很好的教程或文档解释了所有这些令人讨厌的东西?
opencv opengl-es rotation coordinate-transformation android-sensors
我试图了解如何在用GLSL编写的webgl着色器中模拟console.log.它很容易得到错误消息,但我无法得到如何打印自定义消息.
基本上我想在浏览器的控制台中打印东西:
<script id="shader-fs1" type="x-shader/x-fragment">
void main(void)
{
//console.log doesn't work here since it's GLSL not javascript
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
</script>
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我需要一种渲染到GL_TEXTURE_EXTERNAL_OES纹理的方法.我尝试将纹理绑定到帧缓冲区但我得到了GL_INVALID_ENUM错误.以下是一些示例代码:
glEnable(GL_TEXTURE_EXTERNAL_OES);
glGenFramebuffersOES(1, &frameBuffer);
glBindFramebufferOES(GL_FRAMEBUFFER, frameBuffer);
glFramebufferTexture2DOES(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_EXTERNAL_OES, outTexHandle, 0); // I get GL_INVALID_ENUM here
// set viewport, uniforms and draw
glBindFramebufferOES(GL_FRAMEBUFFER, 0);
glDisable(GL_TEXTURE_EXTERNAL_OES);
Run Code Online (Sandbox Code Playgroud)
我的最终目标是通过在SurfaceTexture上应用一些过滤器来修改相机框架.因此,我的着色器程序同时具有输入和输出相同的GL_TEXTURE_EXTERNAL_OES纹理.这可能吗?如果没有,有没有解决方法?对于我的应用程序,输出纹理必须是GL_TEXTURE_EXTERNAL_OES,我不能使用GL_TEXTURE_2D纹理.