LWJGLの記事をまとめてみました。随時更新するのは面倒ですが… LWJGLとはどういうものか? LWJGLとJava ◇GLFWを使ったWindow表示 古典的なOpenGL ◇三角形の描画 ◇テクスチャの貼り付け モダンなOpenGL ◇VertexArrayObjectを使った描画 ◇プログラマブルシェー…
暇?なので、LWJGL3を使って、OpenGL/ALの拡張機能を探ろうと思います。その前に、まず自分のパソコンで使える拡張機能を見てみたいと思います。
このまえは拡散光だけで、艶も環境光もなかったので、リアル感がありませんでした。そこで、今回はPhongシェーディングというものを使って、実装したいと思います。Phongシェーディングとは、光による物体の色の変化を「環境光(Ambient)」「拡散光(Diffus…
今までのコードでは2Dしかやっていなかったので、1次元上げて3Dの立方体を使います。 また、今までやったこと(テクスチャ、シェーダ)を使って、3Dっぽい感じの物体を表示したいと思います。 そのために今回作るのは、光です。Diffuseは「拡散光」のこ…
速報?ですが、LWJGLのバージョン3.0.0が6/3に正式にリリースされていました。VulkanやらNanoVGやらだけでなく、が追加されており、ただのラッパーではなくなってきているのかな?という感じです。それでは本題…いままでのOpenGLの流れをぶっちぎってしまっ…
タイトル前回の丸パクリですね今回は、行列を使って物体を動かしてみます。行列による物体の動き(行列変換)については、前に(適当に)まとめた記事があるので、参考にしてもらえると嬉しいです。cakkby.hatenablog.jp 今回は、物体を動かす行列をGLSLに受…
「0から」と言っていますが、「三角関数(三角比)」と「ベクトル」についてなんとなーく知っていないと、難しいと思います。OpenGLで物体に変化(例えば、回転、変形など)を起こすには、行列というものを使わなければいけません。行列は、物体の変化だけで…
「現代的な」テクスチャ表示の続きです。シェーダの説明を主にします。どうでもいいですが、STBという名前は、作者 Sean T. Barrett 氏の名前の頭文字から取ったそうです。どうでもよかったですね。ということで、ソースコード(シェーダのみ)
「現代的(Modern)」というのは「OpenGL3.2以降の機能を使った」ということです。それは、OpenGL3.2以降からは固定機能を廃止して、プログラマーが自分でシェーダなどを用意しなければいけなくなったからです。*1ということで、現代的なやり方?に必要なの…
現代的な方法でテクスチャを表示するには、「プログラマブルシェーダ」という物が必要になるので、それをやってからにします。元々OpenGLはプログラムの内部に「シェーダ(陰影処理、グラデーションとか)」という物があって、それらはOpenGLが決めた「固定…
続きです。TextureManagerクラスしか使わないので、それだけ貼ります。
OpenGL1.1(古すぎ!)でも動作するように、Texture(画像)を表示させます。OpenGL1.1では、テクスチャの長さ(縦と横で違っても良い)は2のべき乗(Power of Two,POT)でなければいけないです。つまり、 16×8 や 256×512 px といったようにしなければいけませ…
この前の続きです。補足:OpenGL3.0に対応していないと出来ないと言いましたが、ARB Extensionの「GL_ARB_vertex_array_object」に対応していれば、使えます。Extension(拡張機能)については、今度やります。では、またコードから…
OpenGL 3.0からの機能の、VertexArrayObject(VAO)とVertexBufferObject(VBO)を使って、物体を表示させましょう。(注:ここでは、OpenGL3.0以上に対応していないと、エラーを起こして起動できません)それでは、ソースコードです。
前の記事を再利用するという顛末ですが… LWJGLとは LWJGLとは… LWJGL (Lightweight Java Game Library) とはコンピューターゲーム向けのJavaプラットフォームのオープンソースライブラリである。 OpenGL,OpenAL,OpenCL を Java から使えるようにし、ゲームパ…
LWJGL3である必要性はありません(古いやり方だから)が、三角形を表示するプログラムを作ってみましょう。では、ソースコードから。
Window表示の解説の続きです。もう一度ソースコードを貼ります。
LWJGL3.0についてです。というか、2.9とOpenGL系は変わってないので、新しい方でやってみたいだけです。LWJGLの構築方法は、簡単に説明します。詳しいことは他のサイトで見てみてください。ちなみに、WindowsでIDEにEclipseを使っています。1.lwjgl公式ペ…
ブログの最初とか何書けばいいかわからないですね。とりあえず、LightweightJavaGameLibrary(LWJGL) でゲームを作りたいっていうことなので、LWJGLについていろいろ書きたいと思ってます。もしかしたら、ほかのことについても書くかもしれません。ちなみに…
LWJGLの説明をもっとじっくりわかりやすく(?)説明したいと思います。LWJGLを知るには、その大元のOpenGLを知らないといけないので、そのへんの説明からしたいと思います。