問題タブ [opengl]
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.
c++ - OpenGLでコーンのような塗りつぶされたエンベロープを描く方法(GLUTを使用)?
私はopenglレンダリングにfreeglutを使用しています...
円錐 (2D) のようなエンベロープを描画する必要があります。このエンベロープには、色と透明度を適用する必要があります。
freeglut ツールキットには、塗りつぶされたジオメトリ (または何らかのトリック) を描画するための組み込み機能が装備されていますか? または、埋められたジオメトリのサポートが組み込まれている他のAPIがあります..
Edit1: 2Dコーンのことを明確にするために...エンベロープは、(敵航空機の)迎撃中の航空機のカバレッジエリアのグラフィカルな解釈です...それは円のセクターに似ています..セクターについて言及する必要がありました代わりは..
そして、glutSolidConeは、円の塗りつぶされたセクターを描画したいので役に立ちません...これはすでに行っています...残っているのは、それを色で塗りつぶすことです...openglでジオメトリを色で塗りつぶす方法は?
Edit2: この質問に投稿されたすべての回答は、ある意味で私の問題に役立つ可能性があります..しかし、ジオメトリを色で塗りつぶす方法を知りたいと思います. 放物線であるエンベロープを描画したい場合...その場合、実際に塗りつぶされた放物線を描画するためのデフォルトのglut関数はありません(または何かありますか?)..この質問を一般化するには...どのようにカスタム ジオメトリを単色で描画しますか?
Edit3: mstrobl が投稿した回答は GL_TRIANGLES に対して機能しますが、そのようなコードに対しては:
正方形を描画します...有線の正方形のみが描画されます...青色で塗りつぶす必要があります。
とにかくやる?
パイのような閉じた曲線に描画コマンドをいくつか入れて、それを色で塗りつぶす必要がある場合、それを可能にする方法はありますか...
GL_TRIANGLES でどのように可能かわかりません...しかし、閉じた曲線でそれを行う方法は?
python - Python での OpenGl
私は現在、OpenGL を使用するコースに参加しており、これまですべてのプログラムで C を使用してきました。Fedora と OpenGL に Python をインストールしていますが、Python コードで OpenGL コマンドを呼び出すとすぐにセグメンテーション エラーが発生します。これがなぜなのかわかりません。
「C のみを使用する」というコメントを避けるために、Python を使用する理由を次に示します。
C から Python に切り替えたい理由はいくつかありますが、主な理由は、レイトレーサーの作成を開始しようとしていて、クラスを使用して簡単にしたいからです。私は C++ のクラスが嫌いで、C の構造体は少しクレイジーに思えるので、Python を試してみようと思いました。また、Python を久しぶりに使用する理由を探していました。
助けてくれてありがとう。
web-applications - JOGL-動作しますか?質問+コメントと経験
物語:
ビデオカードからのアクセラレーションを使用して、Web上でコンピュータグラフィックスを表示する方法を探していました(ソフトウェアレンダリングなし)。IE用のActiveXモジュールを作成することは可能ですが、それはかなりの数のユーザー(Firefox + macOSファン)を満足させるため、完全なソリューションではありません。これは私が考えているより少ない例です:
クエリ:
私は最近、 JOGLを使用してブラウザからopengl呼び出しをjavaにバインドできることを発見しました。だから私はいくつかのことを考えていました:
A)JOGLは私のストーリーに最適なソリューションですか?
B) JOGLからopengl拡張機能を照会できますか?
C) JOGLからテクスチャをロードするにはどうすればよいですか?
コメント:
ブラウザからJOGLを使用したことがある場合は、JOGLで発生した問題/経験を教えてください。
c# - glDrawPixelsはAccessViolationExceptionを引き起こします
glDrawPixelsを使用して画像を表示しています。私はおそらくテクスチャを使用する必要がありますが、使用しない理由があります。少なくとも今のところは。とにかく、表示されている画像はスキャンインされているかのように頻繁に更新されます。これは、座って「スキャン」を終了する限りは問題なく機能しますが、「スキャンがまだ続いている間に画面をクリックするとglDrawPixelsでAccessViolation例外が発生します。
mImageWidthとmImageHeightは期待値であるため、この問題ではありません。
glDrawPixelsが呼び出される直前に、mDisplayBuffer内のすべての要素を調べるforループを配置しました。ここでは問題が発生しなかったため、アクセス違反はmDisplayBufferから発生しているようには見えません。
それで、それはglDrawPixels内の何かであるに違いありませんか?
C#とOpenGlを使用できるように、TAOフレームワークを使用しています。
c++ - 動的 3D 配列上の OpenGL glDrawPixels
次の動的3D配列を OpenGL glDrawPixels()でどのように描画しますか? ここでドキュメントを見つけることができます: http://opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html
次のヘッダー ファイルのみを使用できます。
java - Java+OpenGL でビルドするには、どの Ubuntu/Debian パッケージが必要ですか?
JOGL を使用したい (Java ではなく Clojure 用)。JDK と OpenGL バインディングにはかなりの組み合わせの選択肢があるようです。私は散弾銃のアプローチを使用して、あまりにも多くの粗悪品をインストールしてマシンを詰まらせたくありません。始めるのを手伝ってください!
- どの Ubuntu/Debian パッケージをインストールする必要がありますか?
sun-java6-jdk
(例えば、で始まる) - JOGL パッケージがないようですが、どのようにインストールするのが一番良いでしょうか? CVS HEAD からビルドする必要がありますか、それともビルド済みの jar ファイルを使用する必要がありますか?
Emacs を IDE として使用するので、Eclipse などをインストールする必要はありません。必要なのは、ant などでビルドできることだけです。
包括的なハウツーを提供するために、回答を(他の回答に基づいて)自由に修正してください。
opengl - glDrawPixels/glCopyPixels を使用して拡大ビューを取得し、厳しくクランプされた画像を生成します
以前の質問 (ここで質問) にもかかわらず、私たちのプロジェクトは glDrawPixels の使用に制限されているため、いくつかのハッカーを行う必要があります。
機能要件の 1 つは、画像のクリックされた領域に拡大ビューを表示できるようにすることです。画像を見て、マウスをクリックすると、マウスの位置に 200% の画像ウィンドウが表示されます。カーソルをドラッグすると、ウィンドウがカーソルに追従するはずです。
コンテキストは次のように設定されます。
Big Red Book には、次のようなコードがあります。
そして、小さいがズームされた画像を作成する呼び出しは次のようになります
ここで、mStartY と mStartX はクリックが発生したポイントです。
問題は、表示されるウィンドウが実際にルックアップ テーブルを壊し、画像を本質的に白黒のバイナリ イメージ (つまり、グレーの陰影がない) に圧縮していることです。
データは白黒の符号なし短い配列で、次のコードで設定されます。
さて、このドキュメントによると、GL_PIXEL_MAP_I_TO_I を使用して INDEX_SCALE と INDEX_BIAS をゼロに設定する必要がありますが、それを行っても結果は変わらず、画像が大幅にクランプされます。そして、「非常にクランプされた」とは、黒または白のいずれかで、グレーの色合いがほとんどないことを意味しますが、拡大されていない元の画像は期待どおりに見えます.
では、拡大ビューのクランプを回避するにはどうすればよいですか? カーソルに追従し、最初のコントロールからのデータが入力される 2 番目のコントロールを作成する必要がありますか? このアプローチでは、配列のコピーがグラフィックス カードの外に出て C# に取り込まれるように思われますが、これはほぼ定義上遅くなり、コントロールが応答しなくなります。
ああ、それが問題なら、私は C# と Tao フレームワークを使用しています。
c# - C# GDI+ と OpenGL/DirectX を組み合わせる
背景: 現在、C# プロジェクト内でカスタム コントロールを使用しています (カスタム ルック アンド フィールを描画するだけの基本コントロール (gdi+ を使用))。これらのコントロールの大部分には、不規則な形状などの透明なセグメントがあります。
問題: コントロールのグループの上に半透明 (不規則な形状) のパネルを重ねようとしています。現在、カバーパネルを関連するコントロールの領域にクリップします。これは正常に機能し、結果は良好に見えますが、プロセスは非常に遅いです。
質問: 少し遅い CPU に頼るのではなく、OpenGL/DirectX を少し混ぜてビデオ カードに必要なすべてのレンダリングを実行させることで、レンダリング プロセスを高速化する方法はありますか?
opengl - OpenGL でのライティングの問題
テクスチャのない三角形のメッシュがありますが、色 (青のようなもの) とアルファ (0.7f) が設定されています。このメッシュは実行時に生成され、法線は正しいです。照明をオンにすると、オブジェクトがレベル内を移動するにつれてオブジェクトの色が変化することがわかりました。また、照明が正しく見えません。このオブジェクトを描画するときのコードは次のとおりです。
私が気付いたもう1つの奇妙なことは、無効にしてまたはのみを使用すると、照明が失敗することGL_FRONT_AND_BACK
です。これが私の照明設定です(レンダラーの開始時に一度行われます):GL_FRONT
GL_BACK
編集:法線を「より」正確にするために多くのことを行いました(自分でサーフェスを生成しているため)が、オブジェクトの色は場所によって異なります。どうしてこれなの?openGL には、私が知らない特別な環境ブレンディングがありますか?
編集: 色の変化は、前のテクスチャがテクスチャ スタックにあり、描画されていなくてもglMaterialfv
ブレンドされていたためであることがわかりました。