Difference between revisions of "GLES Shader Testing in Desktop (日本語)"

(Created page with "シェーダをモバイル機器へ対応させるための記事を書くことは些細なこととして片づけられるものではありません。モバイル機器...")
 
m
 
Line 10: Line 10:
 
対応していない GPU の場合は、 [https://chromium.googlesource.com/angle/angle ANGLE] が使える可能性があります。 Windows において、DirectX 9 のみに対応した GPU であっても ANGLE を使うことで LÖVE を実行できます (Google Chrome または Firefox のインストールから<code>libegl.dll</code> と<code>libopenglesv2.dll</code> の共有ライブラリを取得できます。 32-bit 版の LÖVE をお使いならば 32-bit 版の DLL であることを確認してください (64-bit 版でも同様)。確認後、DLLを <code>love.exe</code> と同じディレクトリに保存してください)。
 
対応していない GPU の場合は、 [https://chromium.googlesource.com/angle/angle ANGLE] が使える可能性があります。 Windows において、DirectX 9 のみに対応した GPU であっても ANGLE を使うことで LÖVE を実行できます (Google Chrome または Firefox のインストールから<code>libegl.dll</code> と<code>libopenglesv2.dll</code> の共有ライブラリを取得できます。 32-bit 版の LÖVE をお使いならば 32-bit 版の DLL であることを確認してください (64-bit 版でも同様)。確認後、DLLを <code>love.exe</code> と同じディレクトリに保存してください)。
  
== LÖVE における OpenGLES コンテキストの有効化 ==
+
== OpenGLES コンテキストの有効化 ==
さて、OpenGLES コンテキストを有効化しましょう。そのためには LÖVE の起動前に環境変数を設定します。コマンドプロンプト、またはターミナルで設定後に、同じウィンドウで LÖVE を起動します。また Windows ではコントロールパネル→システム環境変数の編集から設定できます。
+
さて、 LÖVE の起動前に環境変数を設定して OpenGLES コンテキストを有効化しましょう。コマンドプロンプト、またはターミナルで設定後に、同じウィンドウで LÖVE を起動します。また Windows ではコントロールパネル→システム環境変数の編集から設定できます。
  
 
* Windows: <code>set LOVE_GRAPHICS_USE_OPENGLES=1</code> を実行後に <code>lovec ...</code> (これは [[0.10.2 (日本語)|0.10.2]] を使用していると仮定しています)
 
* Windows: <code>set LOVE_GRAPHICS_USE_OPENGLES=1</code> を実行後に <code>lovec ...</code> (これは [[0.10.2 (日本語)|0.10.2]] を使用していると仮定しています)

Latest revision as of 07:18, 18 December 2019

シェーダをモバイル機器へ対応させるための記事を書くことは些細なこととして片づけられるものではありません。モバイル機器の実機を使わずにモバイル機器用のシェーダを検証できるのか疑問を抱くことでしょう。

もちろんできます。方法があります。

統合型を含む最近の GPU は OpenGLES コンテキストの生成に対応しており、シェーダは必ず GLSLES/ESSL と互換性があります。 LÖVE で OpenGLES コンテキストを使えるようにするには環境変数 LOVE_GRAPHICS_USE_OPENGLES=1 を設定します。

動作要件

OpenGLES コンテキストの生成に対応した GPU が必要です。前述のとおり、最近のデスクトップ GPU では対応済みです。

対応していない GPU の場合は、 ANGLE が使える可能性があります。 Windows において、DirectX 9 のみに対応した GPU であっても ANGLE を使うことで LÖVE を実行できます (Google Chrome または Firefox のインストールからlibegl.dlllibopenglesv2.dll の共有ライブラリを取得できます。 32-bit 版の LÖVE をお使いならば 32-bit 版の DLL であることを確認してください (64-bit 版でも同様)。確認後、DLLを love.exe と同じディレクトリに保存してください)。

OpenGLES コンテキストの有効化

さて、 LÖVE の起動前に環境変数を設定して OpenGLES コンテキストを有効化しましょう。コマンドプロンプト、またはターミナルで設定後に、同じウィンドウで LÖVE を起動します。また Windows ではコントロールパネル→システム環境変数の編集から設定できます。

  • Windows: set LOVE_GRAPHICS_USE_OPENGLES=1 を実行後に lovec ... (これは 0.10.2 を使用していると仮定しています)
  • Linux/macOS: LOVE_GRAPHICS_USE_OPENGLES=1 love ...

LÖVE で OpenGLES コンテキストが使われているか確認するには love.graphics.getRendererInfo を呼び出します。そして第一返値が "OpenGL ES" であるかどうかで判断してください。

これにより OpenGLES コンテキストを得た後は、シェーダのコードがモバイル機器で動作するか検証できます。