标签: opengl-es

SceneKit 中的自定义顶点属性

我正在使用 SceneKit 生成一些自定义几何图形。这工作正常,但我正在努力寻找一种方法来包含自定义顶点属性。具体来说,我希望每个顶点包含一个额外的 SCNVector3。

我发现了很多使用 shaderModifiers 来包含依赖于自定义统一值的GLSL/Metal 代码的示例,但还没有遇到包含顶点属性的方法。SceneKit 是否可以做到这一点,还是我的想法倒退了?

macos opengl-es ios scenekit

2
推荐指数
1
解决办法
2068
查看次数

Android 上的 OpenGL - 将位图转换为纹理,并保存纹理

我和我的团队目前正在开发一个 Android 应用程序来进行快速实时和非实时图像处理。

我们面临两个问题:

首先,我们想将 Bitmap 转换为 Texture 以使用 OpenGL 着色器处理图片,然后将其转换回 Bitmap。我们尝试了一些不成功的实现,例如在 SurfaceTexture 和 Renderer 中使用 GLUtils.texImage2D 函数。

我们的第二个问题是我们目前不知道如何在我们的实时相机活动中保存纹理。我们使用 OnFrameAvailableListener 来处理图像。但就目前而言,我们无法保留原始纹理。

我们希望有人可以为我们的问题提供答案。提前致谢 !

java android opengl-es bitmap

2
推荐指数
1
解决办法
5614
查看次数

如何转换 Android 位图以包裹圆柱体并改变视角

我编写了一个示例应用程序,它允许 Android 用户拍照并将视图中的文本内容作为图像的叠加层并保存到图库相册中:

相机图像上的文字

我想要的是在加入两个图像之前转换文本位图。具体来说,我想使文本曲线在两侧向上(模拟环绕圆柱体),并使其顶部比底部大(模拟自上而下的透视),如下所示:

相机图像上的转换文本

无需解释相机图像即可确定曲率或透视变化量。问题是如何操作位图以便可以进行两个转换。

这是我用来将未转换的文本放入相机图像和图库的代码:

private void combinePictureWithText(String fileName) {
    Log.v(TAG, "combinePictureWithText");

    int targetW = getWindowManager().getDefaultDisplay().getWidth();
    int targetH = getWindowManager().getDefaultDisplay().getHeight();

    /* Get the size of the image */
    BitmapFactory.Options bmOptions = new BitmapFactory.Options();
    bmOptions.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(fileName, bmOptions);
    int photoW = bmOptions.outWidth;
    int photoH = bmOptions.outHeight;

    /* Figure out which way needs to be reduced less */
    int scaleFactor = 1;
    if ((targetW > 0) || (targetH > 0)) {
        scaleFactor = Math.min(photoW/targetW, photoH/targetH);
    }
    Log.v(TAG, "Scale Factor: " …
Run Code Online (Sandbox Code Playgroud)

android opengl-es bitmap perspectivecamera virtual-reality

2
推荐指数
1
解决办法
1040
查看次数

在OpenGL ES中,如何将屏幕坐标转换为世界坐标?

这适用于2D游戏,因此只有x和y轴.iPhone上的游戏采用横向模式.我希望能够设置渲染纹理的位置的屏幕x和y坐标.

iphone opengl-es

1
推荐指数
1
解决办法
6281
查看次数

如何摆脱OpenGL ES iPhone应用程序中的文物?

我正在使用CrashLanding示例代码中的Texture2D类.在模拟器和手机中,我的图像周围都出现了奇怪的文物.工件是纹理周围的小灰色边框.边框不一致,不包围整个纹理.我正在使用pngs.

iphone opengl-es

1
推荐指数
1
解决办法
785
查看次数

我可以在EAGLView上的Touch Point获取像素的颜色

我想在EAGLView上的特定触摸点获得Pixel的颜色.这是可能的,如果是的话,怎么样?

iphone opengl-es eaglview

1
推荐指数
1
解决办法
853
查看次数

OpenGL呈现状态管理

我正在开发一款小型iPhone游戏,并且正在将我开始为Mac开发的3D引擎移植到iPhone上.这一切都很顺利,Mac引擎的所有功能现在都出现在iPhone上.引擎完全没有完成,但现在至少我有基本的资源管理,场景图和构造,可以轻松地动画和移动对象.

我现在拥有的截图:http://emle.nl/forumpics/site/planes_grid.png.小飞机是我几年前制作的一个测试对象,用于我当时制作的游戏.它与我现在正在开发的游戏无关,但当然是3D引擎及其设施.

现在,我来谈谈材料的主题,纹理,灯光等属于可渲染对象的描述.这意味着每个对象都有很多OpenGL clientstate和glEnable/glDisable调用.您建议以什么方式最小化这些状态变化?目前我按材料排序,因为具有相同材料的对象根本不需要任何更改.我创建了一个名为RenderState的类,它缓存当前的OpenGL状态,并且仅在选择不同材质时应用不同的成员.这是一个可行的解决方案,还是当引擎成熟并且需要缓存越来越多的状态时,它是否会超出控制范围?

iphone opengl-es

1
推荐指数
1
解决办法
2943
查看次数

Core Graphics在iPhone上的PIXEL迭代性能不佳?

我试图对像素进行迭代,以在不使用OpenGL的情况下更改UIImage的RGBA值.我尝试使用下面的代码测试迭代性能,但非常不满意.好像我每秒只能进行几千次迭代.而对于具有数十万像素的UIImage,这将花费太长时间......任何人都对如何提高性能或这些操作通常需要多长时间有任何建议?

-(UIImage*)modifyPixels:(UIImage*)originalImage
{
    NSData* pixelData = (NSData*)CGDataProviderCopyData(CGImageGetDataProvider(originalImage.CGImage));
    void* pixelBytes = [pixelData bytes];

    // Take away the red pixel, assuming 32-bit RGBA
    for(int i = 0; i < [pixelData length]; i += 4) {
        NSLog(@" %ith iteration (%i / %i / %i / %i)", i, pixelData[i], pixelData[i+1], pixelData[i+2], pixelData[i+3]);
    }

    //NSData* newPixelData = [NSData dataWithBytes:pixelBytes length:[pixelData length]];
    //UIImage* newImage = [UIImage imageWithData:newPixelData]; 

    return originalImage;    
}
Run Code Online (Sandbox Code Playgroud)

iphone opengl-es core-graphics uikit uiimage

1
推荐指数
1
解决办法
1041
查看次数

iphone opengl es glDrawElements问题

我对opengl很新,所以我想知道是否有可能使用glDrawElements函数绘制两个单独的正方形(我实际上想绘制两个以上,但是为了学习我只会创建两个)?

顶点数组如下所示:

CGFloat数组[] =

{0.2,0.4,0.2,0.2,0.4,0.2,0.4,0.4,

0.8,1.0,0.8,0.8,1.0,0.8,1.0,1.0,};

非常感谢您的关注!

iphone opengl-es

1
推荐指数
1
解决办法
2099
查看次数

OpenGL会为CoreAnimation提供任何FPS改进以滚动大图像吗?

我正在考虑重新编写我的iPhone应用程序的菜单系统,以便使用Open GL来提高在屏幕上滚动大图像(480x1900px)的平滑度.

我正在考虑这样做是为了改进使用这里描述的方法/解决方案(更流畅的UIView).这个解决方案比以前的实现有了很大的改进,但它仍然不完美,因为这是用户首先看到的,我希望它尽可能完美无瑕.

转换到OpenGL会给我一些我正在寻找的平滑滚动吗?到目前为止,我一直没有使用OpenGL,因为这是我的第一个应用程序,核心动画已经处理了我已经完好无损的所有其他内容,很高兴知道这个替代实现是否可行!谢谢

iphone core-animation opengl-es

1
推荐指数
1
解决办法
581
查看次数