OpenGL呼び出しで迅速なEXC_BAD_ACCESS -- ios フィールド と swift フィールド と opengl-es フィールド 関連 問題

Swift EXC_Bad_Access on OpenGL call












1
vote

問題

日本語

アプリをコンパイルしてロットを実行すると、このエラーが発生します。通常はXcodeで停止して再度実行する必要があります。時にはそれは他の時には思えません。本当に忌々しい。

これは私のコードです:

<事前> <コード> foo(1)8

最後のOpenGLコール foo(1)9 ex_bad_access を取得します。

False0 変数から来たと思います。おそらく私はそれを正しく初期化していませんか?テクスチャバッファを保持するためにSwiftでそれを初期化する方法はわかりません。

英語

I get this error when I compile and run the app a lot. Normally I have to hit stop in Xcode and run it again. Sometimes it appears, other times it doesn't. Really annoying.

Here is my code:

func createTextures() {         let width = 2048;         let height = 2048;          texBuffer = GLubyte();          for (var i = 0; i < foregroundTex.count; i++) {              if (textures[i + 1] != "null") {                 glGenTextures(1, &foregroundTex[i]);                  glBindTexture(GLenum(GL_TEXTURE_2D), foregroundTex[i]);                  glTexParameteri(GLenum(GL_TEXTURE_2D), GLenum(GL_TEXTURE_WRAP_S), GL_CLAMP_TO_EDGE);                 glTexParameteri(GLenum(GL_TEXTURE_2D), GLenum(GL_TEXTURE_WRAP_T), GL_CLAMP_TO_EDGE);                  glTexParameteri(GLenum(GL_TEXTURE_2D), GLenum(GL_TEXTURE_MIN_FILTER), GL_LINEAR);                 glTexParameteri(GLenum(GL_TEXTURE_2D), GLenum(GL_TEXTURE_MAG_FILTER), GL_LINEAR);                  glTexImage2D(GLenum(GL_TEXTURE_2D), GLint(0), GLint(GL_RGBA), GLsizei(width), GLsizei(height), GLint(0), GLenum(GL_RGBA), GLenum(GL_UNSIGNED_BYTE), &texBuffer); 

I get EXC_BAD_ACCESS on the last OpenGL call glTexImage2D().

I think it's coming from texBuffer variable. Perhaps I'm not initializing it properly? I don't know how else to initialize it in Swift to hold the texture buffer.

</div
        
 
 

回答リスト

0
 
vote

<コード> Matcher.group()9 は複数のバイトを保持する必要があります。 >([^">].*?)<0 <コード> >([^">].*?)<1

<事前> <コード> >([^">].*?)<2
 

texbuffer needs to hold more than one byte. malloc with width * height * 4:

var texBuffer = malloc(width*height*4) 
</div
 
 

関連する質問

7  OpenGL ES / iPhoneのパフォーマンスと背景画像  ( Performance and background images for opengl es iphone ) 
OpenGL ESを使用してiPhoneのための2Dゲームを開発しています。永続的な背景として320 x 480ビットマップイメージを使用します。 私の最初の考えは320 x 480クワッドを作成し、次に背景を表すそれにテクスチャをマッピングすることでした...

0  奇妙な結果を奇妙なアーティファクトで呼び出しないでください  ( Not calling glclear results in weird artifacts ) 
IMは、以前にレンダリングされたすべてのフレームを見ることができるようにしたいので、深さやカラービットに刻まれないようにしたいです。そしてそれはxとy軸の上にモデルを繰り返すこと以外は仕事をします、そしてまた奇妙な灰色のけいれん線を引き起こします。これを達成...

6  あるOpenGLコンテキストから別のOpenGLのコンテキストにテクスチャを転送する方法  ( How to transfer textures from one opengl context to another ) 
背景: AndroidネイティブカメラアプリはOpenGL_1.0のコンテキストを使用してカメラのプレビューとギャラリーの写真を表示します。これで、ネイティブカメラプレビューにライブフィルタを追加します。 自分のカメラにライブフィルタを追加するには、アプリ...

4  OpenGL ES IOS描画パフォーマンスは、なしよりもVBOSではたくさん遅くなります。  ( Opengl es ios drawing performance a lot slower with vbos than without ) 
最近、現在のプロジェクトの描画を標準図面からVBOSに変更しました。私の驚きには、フレームレートは60fpsから30fpsに有意に低下し、1200回のモデルを8回描画しました。さらにプロファイリングを行うことは、gldrawelementがメモリからの描画と比...

2  Nexus One Gl_FrameBuffer_拡張子...実際にはそこにいませんか?  ( Nexus one gl framebuffer oes extension not actually there ) 
iPhoneアプリをAndroidに移植しています.OpenGL FrameBuffersを使用する必要があります。私はNexus 1を持っています、そしてglget(gl_extensions)への呼び出しは、nexusがiPhoneと同じFrameBuf...

2  iPhone用OpenGL ESで2Dゲームを作った。 UIKITを使用する必要がありますか?  ( Made a 2d game in opengl es for iphone should i use uikit for the interface on ) 
iPhone用OpenGL ES(Arkanoid Stuffと混合した種類のテトリス、楽しみのためにチックスされています)を使って非常に単純な2Dゲームを作りました。 今、私は下のUIを構築する必要があります(遊具は透明です)、そしてプレイスペースの上に。...

7  拡張現実感 - GPSをOpenGLにマッピングする  ( Augmented reality mapping gps to opengl ) 
私はAndroid ARアプリケーションを書いていて、私のエンジンが機能していますが、修正されているように見えない奇妙な行動が含まれています。私はカメラ画像上のOpenGL表面をオーバーレなり、それに応じてビューに3Dオブジェクトを配置しています。 ARオブジ...

0  OpenGL Android 1.6(API 4)アプリケーションに固定フレームレートを設定する方法  ( How to set fixed framerate for opengl android 1 6 api 4 application ) 
私のレンダリングコードはC ++で書かれています、私はAndroid 1.6をターゲットにしています。固定されたフレームレートを達成するためにいくつかのJavaコードを書く必要があると思います。固定されたフレームレートが悪いという事実について炎をしないでくださ...

0  頂点シェーダのないフラグメント/ピクセルシェーダを使用してFBOのカラーアタッチメント(テクスチャ)を処理することは可能ですか?  ( Is it possible to process a fbos color attachement texture using a fragment p ) 
現在、IOSデバイスでOpenGL ES 2.0を使用しているいくつかの地形生成のもので現在遊んでいます。テクスチャとハイトマップがあります。私がやりたいことは、断片シェーダを使って地形のテクスチャをぼかしますが、すべての描画通話(需要と初めに)ではありません...

2  OpenGL ES 2.0 / MONOTOUCH:テクスチャが赤色に色付けされている  ( Opengl es 2 0 monotouch texture is colorized red ) 
現在私のアプリケーションにキューブマップをロードしていますが、それは赤いトーンに表示されます。 編集:チャンネルの問題も2Dテクスチャを使用する場合、チャンネルが正しい順序ではないようです。 IOSメソッドを使用してチャンネルの順序を変更する方法はありますか?...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有