概要
初めまして。
当方、現在Xamarinを使用してiOS用のOpenGL環境を構築しているところです。
現在、FrameBufferのアタッチにおいて正常な動作ができず困っております。
ソースコード
html
1 public void CreateBuffer() 2 { 3 BackgroundColor = UIColor.Blue; 4 5 CGRect size = UIScreen.MainScreen.Bounds; 6 mWidth = (int)size.Width; 7 mHeight = (int)size.Height; 8 9 CAEAGLLayer layer = (CAEAGLLayer)this.Layer; 10 layer.Opaque = true; 11 12 // コンテキストの取得 13 mContext = new EAGLContext(EAGLRenderingAPI.OpenGLES1); 14 EAGLContext.SetCurrentContext(mContext); 15 16 GL.MatrixMode(All.Projection); 17 GL.LoadIdentity(); 18 19 // ビューポートの設定 20 GL.Viewport(0, 0, mWidth, mHeight); 21 GL.Scale(1.0f, -1.0f, 1.0f); 22 23 GL.EnableClientState(All.VertexArray); 24 GL.EnableClientState(All.TextureCoordArray); 25 26 // カリング処理の設定 27 GL.Disable((All)EnableCap.CullFace); 28 GL.FrontFace((All)FrontFaceDirection.Cw); 29 30 // 描画バッファの設定 31 GL.Oes.GenFramebuffers(1, out mFrameBuffer); 32 GL.Oes.BindFramebuffer(All.FramebufferOes, mFrameBuffer); 33 34 GL.Oes.GenRenderbuffers(1, out mRenderBuffer); 35 GL.Oes.BindRenderbuffer(All.RenderbufferOes, mRenderBuffer); 36 37 GL.Oes.GetRenderbufferParameter(All.RenderbufferOes, All.RenderbufferWidthOes, out mWidth); 38 GL.Oes.GetRenderbufferParameter(All.RenderbufferOes, All.RenderbufferHeightOes, out mHeight); 39 40 mContext.RenderBufferStorage((uint)All.RenderbufferOes, layer); 41 GL.Oes.FramebufferRenderbuffer(All.FramebufferOes, All.ColorAttachment0Oes, All.RenderbufferOes, mRenderBuffer); 42 43 if (GL.Oes.CheckFramebufferStatus(All.FramebufferOes) != All.FramebufferCompleteOes) 44 { 45 Console.WriteLine("failed!! {0}", GL.Oes.CheckFramebufferStatus(All.FramebufferOes)); 46 } 47 }
問題点
上記、CheckFrameBufferStatusメソッドにおいて、FramebufferIncompleteAttachmentOesが返っており
描画が行われない形になっております。
(背景色のみが表示され、バッファの背景色すら表示されない。)
何か必要な設定が足りていない、もしくは正しい設定がされていないなどがあるのでしょうか?
ご回答いただけると助かります。
捕捉
今回、当方での処理におきましては、OpenGLES1.1を使用することが前提となっております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/26 09:43
2020/10/26 10:05
2020/10/26 10:39
2020/10/26 11:06
2020/10/26 11:17