質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

解決済

XamarinにおけるiOS用OpenGL処理の設定で質問です

JpTomari
JpTomari

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

1回答

0リアクション

0クリップ

843閲覧

投稿2020/10/26 06:12

概要

初めまして。
当方、現在Xamarinを使用してiOS用のOpenGL環境を構築しているところです。
現在、FrameBufferのアタッチにおいて正常な動作ができず困っております。

ソースコード

html

public void CreateBuffer() { BackgroundColor = UIColor.Blue; CGRect size = UIScreen.MainScreen.Bounds; mWidth = (int)size.Width; mHeight = (int)size.Height; CAEAGLLayer layer = (CAEAGLLayer)this.Layer; layer.Opaque = true; // コンテキストの取得 mContext = new EAGLContext(EAGLRenderingAPI.OpenGLES1); EAGLContext.SetCurrentContext(mContext); GL.MatrixMode(All.Projection); GL.LoadIdentity(); // ビューポートの設定 GL.Viewport(0, 0, mWidth, mHeight); GL.Scale(1.0f, -1.0f, 1.0f); GL.EnableClientState(All.VertexArray); GL.EnableClientState(All.TextureCoordArray); // カリング処理の設定 GL.Disable((All)EnableCap.CullFace); GL.FrontFace((All)FrontFaceDirection.Cw); // 描画バッファの設定 GL.Oes.GenFramebuffers(1, out mFrameBuffer); GL.Oes.BindFramebuffer(All.FramebufferOes, mFrameBuffer); GL.Oes.GenRenderbuffers(1, out mRenderBuffer); GL.Oes.BindRenderbuffer(All.RenderbufferOes, mRenderBuffer); GL.Oes.GetRenderbufferParameter(All.RenderbufferOes, All.RenderbufferWidthOes, out mWidth); GL.Oes.GetRenderbufferParameter(All.RenderbufferOes, All.RenderbufferHeightOes, out mHeight); mContext.RenderBufferStorage((uint)All.RenderbufferOes, layer); GL.Oes.FramebufferRenderbuffer(All.FramebufferOes, All.ColorAttachment0Oes, All.RenderbufferOes, mRenderBuffer); if (GL.Oes.CheckFramebufferStatus(All.FramebufferOes) != All.FramebufferCompleteOes) { Console.WriteLine("failed!! {0}", GL.Oes.CheckFramebufferStatus(All.FramebufferOes)); } }

問題点

上記、CheckFrameBufferStatusメソッドにおいて、FramebufferIncompleteAttachmentOesが返っており
描画が行われない形になっております。
(背景色のみが表示され、バッファの背景色すら表示されない。)

何か必要な設定が足りていない、もしくは正しい設定がされていないなどがあるのでしょうか?
ご回答いただけると助かります。

捕捉

今回、当方での処理におきましては、OpenGLES1.1を使用することが前提となっております。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。