問題タブ [freeglut]
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++ - GLUTおよびC++クラス
私はしばらく前にGLUTを使用してOpenGLを使い始めました。メンバー関数をGLUT関数に渡すことはできません。(または、そのオプションについてはあまり詳しく調べませんでしたが、そのことについてはメンバーへのポインター)。
「まともな」方法があるのか、それともこれを解決するための「最もまともな」方法は何なのか疑問に思いました。静的メンバー関数を使用できることは知っていますが、もっと良い方法はありませんか?
C ++で記述され、C ++クラスベースのインターフェイスを提供するSFMLのような他のライブラリがあることは知っていますが、GLUT(正確にはフリーグルト)に関してどのような可能性があるのか疑問に思いました。
haskell - Ubuntu の FunGen
主にWindowsよりもHaskellライブラリを簡単に操作できるようにするために、Ubuntuを正常にインストールしました。
作業中の Haskell コードを実行すると、靴下が脱げてしまいます。ゲームに FunGen ライブラリを使用していますが、実行しようとするとこのエラーが発生しました。
いくつかの Web 検索の後、C コードでこれを修正する方法を見つけ (GlutDouble
代わりに を使用)、 Haskell コードでGlDouble
その型を使用しています。Graphics.Rendering.OpenGL.GLdouble
もう少し調査したところ、タイプ GlDouble = Double であることがわかったので、これは原因ではありません。さらに、コードの gldouble 部分を削除しただけで、まだ機能しません。だから、ここに私を前のエラーに駆り立てるいくつかの簡単なコードがあります:
バージョンについては、freeglut3 2.6.0-1ubuntu2、ghc 6.12.3、fungen 0.3、haskell glut 2.2.2.0 および ubuntu 11.04 を入手しました。
これは他の誰かに起こりましたか?
c - 「openSuseとopenGL」環境のサンプルプログラム
私はこのようなサンプル コードを OpenSuse 11.3 (非常に新しいインストール) で openGL 用に作成しました (Yast2 のソフトウェア マネージャーから openGL を検索して出てきたすべてのライブラリをインストールしました)。
これを機能させるには、Suse に追加のライブラリをインストールする必要がありますか?
haskell - GLUT を使用して複数のウィンドウで同時に描画する
2 つのウィンドウを作成し、それらを 2 つの異なるスレッド (ウィンドウごとに 1 つ) で再描画すると、すべての描画が最初に作成されたウィンドウに移動するように見えます。両方のウィンドウに表示されるものを常に切り替えます。そして2つ目はほとんど黒のままです。
コードは 1 つのウィンドウだけでうまく機能していたので、それを更新してcurrentWindow $= Just glWindow
、コールバックを設定し、レンダリング メソッドを呼び出す関数の先頭に挿入しました。
問題の原因は何だと思いますか?
編集:
コードの骨組み:
ところで、reshapeCallback を設定する行にコメントを付けて (ウィンドウは最初に再形成されます)、ウィンドウを 1 つだけ使用してチャートを起動すると、マルチウィンドウ起動とまったく同じ効果が得られました。つまり、(唯一の)ウィンドウは、2番目に作成されたかのようにほとんど空でした。
c++ - GL VBO の問題: 三角形の最初と最後のストリップが正しく表示されない
私は C++ も OpenGL も初めてではありませんが、VBO の使用は初めてです。今まで、私は怠け者で、ほとんどすべてにディスプレイ リストを使用していました。
私の問題はおそらく非常に単純ですが、面倒です!三角形の最初と最後のリストが正しく表示されていないようです。この例では、単純な波面モデルの obj ファイルから球を読み込んでいます。表示リストと VBO の両方でまったく同じ方法で obj ファイルからロードし、obj ファイルからまったく同じ数値を取得していることを確認しました。
この例では、頂点と頂点インデックスを格納するために STL ベクトルを使用しました。ただし、以前にも float* と int* を使用してみましたが、まったく同じ結果が得られました。
これは、VBO から描画された球体の画面です。
編集:私のアカウントはまだ新しいので、2つ以上投稿できないため、このハイパーリンクを削除しました... ご覧のとおり、球の真ん中に入る向こう側から巨大な円錐が描かれています。見にくいですが、最も近い側から最も遠い側への三角形のストリップも間違っています。これは、次のいくつかの画面のいずれかで明らかになります。これは、DL から描画されたまったく同じ球です。
編集:私のアカウントはまだ新しいので、2つ以上投稿できないため、このハイパーリンクを削除しました...
DL が正しく描画されていることがわかります。ここでは、両方が同時に描画されています。線が緑色になっているところに最大の違いが見られます。これが本来あるべき姿です。
編集:私のアカウントはまだ新しいので、2つ以上投稿できないため、このハイパーリンクを削除しました...
ここでは、トップ ストリップが VBO から間違って描画されていることがより明らかです。
次に、各頂点の y 値に大きな数値を追加してみました。これは、球内の円錐の頂点が決して動かないため、VBO に間違いなく何か問題があることを示しています。
さて、問題の視覚的なアイデアが得られたので、ここにコードを挿入すると思いましたが、おそらくステップを見逃したか、番号が間違っているだけです。ご覧ください
これが私がvboを作成する方法です
{
}
m_vertices は、単純に x、y、z を保持する Vec3f の STL ベクトルです。これをベクターとしても試してみましたが、同じ問題が発生したため、ベクターまたは float* に変更しても問題はありません。
わかりました、今、私がそれを描いているところに来ました。
{
}
glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); を使用して描画しています。間違った三角形の問題を最もよく示しているため、単にデバッグ目的のためです。
私が何か間違ったことをしたかどうか、誰でも見ることができますか? 何かを間違って初期化しましたか? 手順がありませんか?私はさまざまなチュートリアルを見て、これをかなりグーグルで検索しましたが、他の人と大きな違いはないようです。ほとんどのチュートリアルでは、stl ベクトルの代わりに float* を使用しましたが、繰り返しますが、既にそれを行っており、まったく同じ結果が得られました。
私が提供しなければならない情報が他にあるかどうかはわかりませんが、glew と freeglut を含めています (両方の最新版.. Windows 上)。
opengl - OpenGL ライブラリをソフトウェア パッケージに追加する
科学コード パッケージ (衝突/重力 N 体シミュレーション用) を開発しました。ライブラリを実行する必要はありません。人々はそれをダウンロードして、make と入力するだけでコンパイルできます。私はそれをシンプルに保ちたいと思っています。
シミュレーションをリアルタイムで視覚化するオプションとして OpenGL を追加しました。それは本当に素晴らしいですね。ただし、マシンに OpenGL/GLUT ライブラリがインストールされていない人もいます。
これらのユーザーが外部ライブラリを手動でインストールせずに私のコードを使用できるようにする最も簡単な方法は何ですか? 「OpenGL/GLUTをインストールしてください」みたいな文章を書くとこんな感じ。マニュアルでは、それは多くの人を先延ばしにします。ソースパッケージに freeglut を追加することはできますか? それは良い考えですか、それとも他に何か提案はありますか?
glut - reshape で glutPostRedisplay() の代わりに display() を呼び出しますか?
関数では、代わりにreshape()
コールバック関数を単純に呼び出すことはできますか?display()
glutPostRedisplay()
haskell - FreeGlut が ghci で機能しない
「Glut」を使って小さなプログラムを書きました
GHC によってコンパイルされたプログラムは正常に実行されます (ghc --make t.hs) が、ghci からプログラムを実行しようとすると、ghci が次のメッセージでクラッシュします。
ghci から Glut プログラムを実行することは可能ですか?
visual-c++ - CMakeは正しいライブラリを見つけますが、VC++は他のものとリンクしようとします
FreeGLUTを見つけるためのCMakeモジュールがあります:
これは正常にfreeglut_static.lib
動作し、WindowsでNMakeMakefileを生成すると検出されます。FreeGLUTをDLLに静的にリンクしようとしています。
私のソースコードは正しくビルドされますが、リンク段階に達すると、VC++は次のように失敗します。
リンク:致命的なエラーLNK1104:ファイル'freeglut.lib'を開くことができません
freeglut.lib
生成されたNMakemakefileで見ることができるどこにも言及されていないので、これは奇妙です。freeglut_static.lib
CMakeが見つけて設定するとリンクしようとしているはずFREEGLUT_LIBRARIES
です。
これを引き起こしているのは何ですか?