問題タブ [nsopengl]

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.

0 投票する
1 に答える
977 参照

objective-c - NSWindow での描画

グラフィックフレームワークのココアラッパーに取り組んでいます。

最終的に物を描くために、私はこれをやっています:

のサブクラス内NSView

Gosu や Irrlicht などの他のフレームワークを調べたところ、NSOpenGL次のような複雑なことを常に行っていることがわかりました。

なぜ彼らはそんなことをしているのですか?私の「単純な」方法は大丈夫ですか?

0 投票する
1 に答える
197 参照

cocoa - 非描画目的の NSOpenGLContext

NSOpenGLContext描画用ではなく、ベンダー、バージョンなどの OpenGL 情報を取得するために、システムに依存しない Cocoa を作成する方法???

0 投票する
1 に答える
2009 参照

multithreading - NSOpenGLLayerを使用して別のスレッドから描画する

少なくともモニターのリフレッシュレートと同じリフレッシュレートでOpengGLを使用して描画する必要があるアプリに取り組んでいます。また、描画が激しいUIアクションによってロックされないように、別のスレッドで描画を実行する必要があります。

実はとNSOpenGLView組み合わせて使っておりCVDisplayLink、問題なく60-80FPSを達成することができます。

このビューの上にいくつかのココアコントロールも表示する必要があるため、 LayerBackedOpenGLView Appleの例NSOpenGLViewに従って、サブクラス化してレイヤーバックにしようとしました。

結果は満足のいくものではなく、多くのアーティファクトが発生します。

NSWindowしたがって、ココアコントロールをホストするために別のウィンドウを使用し、このウィンドウをを含むメインウィンドウの子ウィンドウとして追加することで問題を解決しましたNSOpenGLView。それは正常に動作し、最初の実装とまったく同じFPSを取得できます。

私はこのソリューションを汚いハックのように考えているので、必要なものを達成するための代替のよりクリーンな方法を探しています。

数日前に出くわしNSOpenGLLayer、それが私の問題の実行可能な解決策として使用できると思いました。

最後に、このすべての前文の後に、私の質問があります:コールバックNSOpenGLLayerを使用して別のスレッドからに描画することは可能ですCVDisplayLinkか?

CVDisplayLinkこれまでこれを実装しようとしましたが、コールバックから引き出すことができません。-setNeedsDisplay:TRUEコールバックNSOpenGLLayerからのみ実行でき、 cocoaによって自動的に呼び出されたときにCVDisplayLink描画を実行できます。-drawInOpenGLContext:pixelFormat:forLayerTime:displayTime:でも、このようにメインスレッドから描いていると思いますよね?

これをグーグルで調べた後、私はこの投稿を見つけました。この投稿では、Lionの下での描画は内部でのみ発生する可能性があるとユーザーが主張しています-drawInOpenGLContext:pixelFormat:forLayerTime:displayTime:

私は現在SnowLeopardを使用していますが、アプリはLionでも問題なく動作するはずです。

私は何かが足りないのですか?

0 投票する
0 に答える
174 参照

xcode - ScrollView に NSOpenGlViews を埋め込むと、期待されるスクロール動作が生成されない

スクロールビューに 3 つの NSOpenGLView が埋め込まれています。スクロールすると、予期しない動作が発生します。NSOpenGLViews は、スクロール ビューの下部でクリップされることを拒否し、代わりにスクロール ビューの下部に配置され、長さが短くなるようにサイズ変更されます。場合によっては、NSOpenGlViews がオーバーラップし始めます。

0 投票する
1 に答える
5615 参照

objective-c - OpenGL 3.2 と NSOpenGLView

NSOpenGLView のカスタム実装でコア プロファイルを作成するにはどうすればよいですか? どのメソッドをオーバーライドし、そこにどのコードを配置する必要がありますか?

これまでのところ、私はこのコードを持っています:

0 投票する
1 に答える
126 参照

cocos2d-iphone - cocos2d CCDirectorMac - self.view.openGLContext flushBuffer の SIGABRT

cocos2d Mac アプリケーションがあります。スプライトを作成および追加すると、ランダムにクラッシュします。

基本的に私はSIGABRTを取得します

CCDirectorMac で。

スクリーンショットはこちら: http://www.zentralnorden.com/temp/crash0220.png

これにアプローチする方法についてのアドバイスは役に立ちます。