問題タブ [texture2d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - Texture2D iPhone SDK openGL
OpenGLESを使用するiPhoneゲームでTexture2Dクラスを使用しています。
Texture2Dクラスを理解するための良いチュートリアルはありますか?
具体的には、テキストを印刷するためのinitWithStringメソッドを見ています。実装方法として、使用すると白いテキストが表示されます。テキストのRGBカラーを指定できるようにメソッドを変更したいと思います。ヘルプ/ポインタはありますか?
opengl - OpenGLESテクスチャの2^nピクセルサイズ要件に対処するためのより効率的な方法はありますか?
質問が不明な場合は申し訳ありません。詳しく説明させてください。
サイズが100x200の長方形があり、その長方形に合うグラフィックサイズが100x200です。OpenGLではすべてのテクスチャの幅と高さが2^nである必要があるため、基本的に100x200のグラフィックを128x256の画像に配置します。長方形に必要なテクスチャの一部のみを描画するように要求しただけなので、OpenGLでは正常に機能します。しかし、私を悩ませているのは、128 x 256のテクスチャには、未使用のスペースがたくさんあるということです。
この場合、これらの未使用のスペースを処理するためのより良い方法はありますか?それとも、これが進むべき道であると思われますか?
c++ - How to Draw pixel data taken from the backbuffer back to itself?
I'm working on a mobile application for Symbian 5th edition using OpenGLES.
This application is a pretty standard 2D app, and I make no use of the DepthBuffer.
I need to grab a snapshot of the display and then draw the very same snapshot back to the backbuffer.
I'm using glReadPixels((GLint)0, (GLint)0,
(GLint)nWidth-1, (GLint)nHeight-1,
GL_RGB, GL_UNSIGNED_BYTE, m_pPixelData)
in order to get the pixel data I need, but I'm rather new to OpenGLES and I don't know how to draw the data back to the backbuffer. (in OpenGL its easy using DrawPixels..)
I've read that I should generate a texture from the data, so I did. But now I'm not sure how to draw this texture.
Do I need to draw it as a texture of a Rectangular element ? if so than how am I suppose to define this rect ? ( the coordinates just doesn't make sense to me..)
The display size is 480x640 and here is the code I want to use in order to draw the rect:
#xA;Note that above code is something I've picked up along the way, and I think this is the outline of what I'm suppose to do. feel free to take me off this track. :)
I thank you for your time.
c# - XNA:構造体をテクスチャとしてGPUに取得する
XNAは、必要なものがすでにたくさん用意されているため、CPUで実行しているグラフィックス処理の簡単な基盤として使用しています。現在、私の「rendertarget」は、struct
R、G、Bの3つの浮動小数点フィールドで構成されるカスタムカラーの配列です。
これを画面に表示したい場合はstruct
、結果を0〜255のバイト範囲内にクランプするだけで、この配列をXNAが提供する色(チャネルあたりわずか8ビットの精度)に手動で変換します。次に、この新しい配列をのデータとして設定しTexture2D
(のを持っていSurfaceFormat
ますSurfaceFormat.Color
)、テクスチャを。でレンダリングしますSpriteBatch
。
私が探しているのは、CPUでのこの変換プロセスを取り除き、バックバッファーをある種のテクスチャとしてGPUに直接送信する方法です。ここで、基本的な後処理を行います。そして、私は実際に8ビットよりも少し高い精度が必要です(必ずしも32ビットである必要はありませんが、私が行っていることはGPUを集中的に使用しないため、害はないと思います)。
どうすればこれを行うことができますか?
Colorに32バイトの明示的なサイズ(つまり、3つのチャネルは24ビットしか埋めないため、8バイトのパディング)を指定して、にレンダリングされるテクスチャのを(32バイトの大きさ)StructLayout
に設定し、テクスチャを塗りつぶすと考えました。それでそれは多分うまくいくでしょう。しかし、私はこの例外を受け取ります:SurfaceFormat
SpriteBatch
SurfaceFormat.Vector4
SetData<Color>
このメソッドでTに使用しているタイプは、このリソースに対して無効なサイズです。
配置方法を指定することで、頂点を介して行うことができるように、任意に作成されたものを使用struct
して、GPUでテクスチャデータとして解釈することは可能VertexDeclaration
ですか?
iphone - iPhone : アプリのドキュメント内のファイルからイメージをロードすると、Texture2D の作成が非常に遅くなります。なぜですか?
何より遅い?アプリ バンドルから読み込まれた画像から同じテクスチャを作成するよりも遅くなります。どのくらい遅いですか?iPhone では 80 倍遅く、Mac では同様の比率 (ただし全体的には高速) です。
以下の私の例は、 imageNamed: で画像をロードすることを示しています。最初の画像からテクスチャを作成します。アプリの Documents ディレクトリ内のファイルに画像を保存します。そのファイルから画像をロードします。2 番目の画像からテクスチャを作成します。
画像は 640x640 の png で、それぞれ 64x64 のテクスチャが 100 個作成されます。作成時間は 41.3 秒に対して 0.51 秒です。
誰かがこの大きな違いを説明し、可能であれば最初のケースと同じくらい速くするために、2番目のケースをスピードアップする方法と手段を教えてもらえますか?
ルディフ
iphone - このようなopenGLテクスチャをロードするのは正しいですか?
私は数ヶ月前にOpenGLプロジェクトを開始しましたが、ますます大きくなりました... 私はcrashLandingサンプルから始め、Texture2Dを使用しています。
また、シングルトンクラスを使用してテクスチャをロードします。テクスチャのロードは次のようになります。
ほぼ50枚の写真など
3GSではうまく機能しますが、3Gでは問題が発生することがあります。
私はこれすべてで間違っていますか?
ありがとう
iphone - 複数の EAGLView を使用するとテクスチャが描画されない
Apples EAGLView と Texture2D に少し問題があります。EAGLView のインスタンスを作成してテクスチャを描画すると、うまく機能します。しかし、EAGLView の 2 番目のインスタンスを作成するたびに、新しいビューのテクスチャが描画されません。
OpenGL を初めて使用するので、この動作の原因について完全に手がかりが得られました。誰かが助けたい場合は、動作を再現する小さなプロジェクトを作成しました。プロジェクトはhttp://www.cocoabeans.se/OpenGLESBug.zipにあります。
どうもありがとう、
ティム・アンダーソン
更新
共有グループを使用してみましたが、正しく使用したかどうかはよくわかりません。ただし、動作がわずかに変更されました。最初にインスタンス化されたビューでのみテクスチャを描画する代わりに、最後にインスタンス化されたビューでテクスチャを描画し、他のビューで白い四角形を描画します。それが良いか悪いかはわかりませんが、少なくとも現在、他のビューに何かが現れています。
これは私を夢中にさせており、誰かがこの問題で私を助けてくれたらとても感謝しています. 変更を反映するために、 http://www.cocoabeans.se/OpenGLESBug.zipでプロジェクトを更新しました。
乾杯、
ティム
2 回目の更新
さらにいくつか試してみたところ、この問題は Apple の Texture2D クラスに関連しているように見えますが、何が原因で動作しているのか正確にはわかりません。最善の方法は、独自のテクスチャ クラスを作成することだと思います (これは、OpenGL がテクスチャを処理する方法を理解するのに役立ち、おそらく便利になるでしょう)。
iphone - AtlasSpriteManager からテクスチャを作成するにはどうすればよいですか?
私がやりたいのは、1024x1024 の画像を使用して巨大なテクスチャ (幅が 1024 を超える) を作成することです。AtlasSpriteManager を使用して画像を取得できますが、マネージャーからテクスチャを取得しようとすると、最初の画像しか取得できません。
長いテクスチャを作成するには、マネージャーですべての AtlasSprite の位置を設定する必要があります。
助言がありますか?