読者です 読者をやめる 読者になる 読者になる

音ゲーの出来ない雑魚のブログ

LWJGLとかのことをいうブログ

LWJGLの記事のまとめ

LWJGLの記事をまとめてみました。随時更新するのは面倒ですが… LWJGLとはどういうものか? LWJGLとJava ◇GLFWを使ったWindow表示 古典的なOpenGL ◇三角形の描画 ◇テクスチャの貼り付け モダンなOpenGL ◇VertexArrayObjectを使った描画 ◇プログラマブルシェー…

「えくすてツアー」0日目 使えるOpenGL/ALの拡張機能を見る

暇?なので、LWJGL3を使って、OpenGL/ALの拡張機能を探ろうと思います。その前に、まず自分のパソコンで使える拡張機能を見てみたいと思います。

「moreover lwjgl」 14  Phongなひかりとその最適化

このまえは拡散光だけで、艶も環境光もなかったので、リアル感がありませんでした。そこで、今回はPhongシェーディングというものを使って、実装したいと思います。Phongシェーディングとは、光による物体の色の変化を「環境光(Ambient)」「拡散光(Diffus…

「moreover lwjgl」 13 世界をDiffuseな光で照らす(+アンチエイリアシング)

今までのコードでは2Dしかやっていなかったので、1次元上げて3Dの立方体を使います。 また、今までやったこと(テクスチャ、シェーダ)を使って、3Dっぽい感じの物体を表示したいと思います。 そのために今回作るのは、光です。Diffuseは「拡散光」のこ…

「moreover lwjgl」 12 oggを流す

速報?ですが、LWJGLのバージョン3.0.0が6/3に正式にリリースされていました。VulkanやらNanoVGやらだけでなく、が追加されており、ただのラッパーではなくなってきているのかな?という感じです。それでは本題…いままでのOpenGLの流れをぶっちぎってしまっ…

「moreover lwjgl」 11 現代的な行列変換 ~JOMLを使って~

タイトル前回の丸パクリですね今回は、行列を使って物体を動かしてみます。行列による物体の動き(行列変換)については、前に(適当に)まとめた記事があるので、参考にしてもらえると嬉しいです。cakkby.hatenablog.jp 今回は、物体を動かす行列をGLSLに受…

「moreover lwjgl」 10 現代的なテクスチャ表示(2) ~stbを使って~

「現代的な」テクスチャ表示の続きです。シェーダの説明を主にします。どうでもいいですが、STBという名前は、作者 Sean T. Barrett 氏の名前の頭文字から取ったそうです。どうでもよかったですね。ということで、ソースコード(シェーダのみ)

「moreover lwjgl」 9 現代的なテクスチャ表示(1) ~stbを使って~

「現代的(Modern)」というのは「OpenGL3.2以降の機能を使った」ということです。それは、OpenGL3.2以降からは固定機能を廃止して、プログラマーが自分でシェーダなどを用意しなければいけなくなったからです。*1ということで、現代的なやり方?に必要なの…

「moreover lejgl」8 プログラマブルシェーダ

現代的な方法でテクスチャを表示するには、「プログラマブルシェーダ」という物が必要になるので、それをやってからにします。元々OpenGLはプログラムの内部に「シェーダ(陰影処理、グラデーションとか)」という物があって、それらはOpenGLが決めた「固定…

「moreover lwjgl」 7 (古風な)Texture貼り付け(2)

続きです。TextureManagerクラスしか使わないので、それだけ貼ります。

「moreover lwjgl」 6 (古風な)Texture貼り付け(1)

OpenGL1.1(古すぎ!)でも動作するように、Texture(画像)を表示させます。OpenGL1.1では、テクスチャの長さ(縦と横で違っても良い)は2のべき乗(Power of Two,POT)でなければいけないです。つまり、 16×8 や 256×512 px といったようにしなければいけませ…

「moreover lwjgl」 5 VAOとVBOで表示(2)

この前の続きです。補足:OpenGL3.0に対応していないと出来ないと言いましたが、ARB Extensionの「GL_ARB_vertex_array_object」に対応していれば、使えます。Extension(拡張機能)については、今度やります。では、またコードから…

「moreover lwjgl」 4 VAOとVBOで表示(1)

OpenGL 3.0からの機能の、VertexArrayObject(VAO)とVertexBufferObject(VBO)を使って、物体を表示させましょう。(注:ここでは、OpenGL3.0以上に対応していないと、エラーを起こして起動できません)それでは、ソースコードです。

「moreover lwjgl」 3 三角形の表示

LWJGL3である必要性はありません(古いやり方だから)が、三角形を表示するプログラムを作ってみましょう。では、ソースコードから。

「moreover lwjgl」 2  基本Windowの表示(2)

Window表示の解説の続きです。もう一度ソースコードを貼ります。

「moreover lwjgl」 1  基本Windowの表示(1)

LWJGL3.0についてです。というか、2.9とOpenGL系は変わってないので、新しい方でやってみたいだけです。LWJGLの構築方法は、簡単に説明します。詳しいことは他のサイトで見てみてください。ちなみに、WindowsでIDEにEclipseを使っています。1.lwjgl公式ペ…