OpenTKOpenTKがGitHubで更新されるようになりました。NuGetから手に入れることができるようになりました。Coreに対応する機運があるようです。ミップマップ距離によるテクスチャの切り替え今回も一枚のポリゴンにテクスチャを複数枚指定しますが、1つの場所(≠1枚のポリゴン)に複数が同時に表示されるものではありません。表示に使われるテクスチャは、視点との距離によって選ばれます。することによって、描画速度を良くし、不自然な表示を減らすことができます(ただしメモリを多く使います)。今回はこれらの画像を重ねて表示させます。通常のミップマップでは小さいテクスチャは大きいものの粗い画像にしますが、今回は動作を見やすくするために別の色にしています。ミップマップのレベルについてミップマップに使われる画像にはレベルというものが付けられます。このレベルは最高品質の画像を0として、縦と横のサイズを半分にした画像を1、そのまた半分の画像を2、...として、1x1の画像になるまで続きます。カメラとの距離によって使うレベルが変わり、描画されることになります。最近のOpenGLではミップマップ用の画像群を自動で生成する関数glGenerateMipmapがあるので、OpenTKでもGL.GenerateMipmapでミップマップの自動生成ができます。上手く使おうミップマップ通常の使い方ではありませんソースコードは、気を付けなければならない設定があります。見やすさのためにポリゴンの大きさも弄ってあります。(int)TextureMagFilter.Nearest);まず最初に、ミップマップに関する設定を行います。GL.TexParameterで、TextureBaseLevelとTextureMaxLevelを指定します。前者は最高品質の画像のレベル、後者は最低品質の画像のレベルです。指定しない場合、すべてのレベルのテクスチャを揃える必要があります。GL.TexParameterでTextureMinFilterは、以前も紹介しましたが、ミップマップを使う場合は設定の選択肢が増えます。下が増えた選択肢です。data.Scan0);}//Mipmapの自動生成//GL.GenerateMipmap(GenerateMipmapTarget.Texture2D);ミップマップの生成自体は難しくありません。GL.TexImage2Dの2番目の引数に、ミップマップのレベルを指定するだけです。(いままでは0で固定していたと思います。)GL.GenerateMipmap関数を使うときは、ミップマップのレベルが0(つまり今まで通り)のテクスチャ情報を流し込んでおきます。(※コメントアウトを解除してもそのままでは正しく動きません。)各描画結果は下のようになります。MasuqaT.NET。