Kanzi でOpenGL ES 3.0+を使用する¶
Kanzi は、OpenGL ES 3.0、3.1、および3.2のシェーディング言語(GLSL ESバージョン300、310、320)をサポートしています。OpenGL ES 3.0+を使用すると、整数テクスチャ、浮動小数点、および複数のレンダーターゲットを使用できます。例えば、これによりレンダリングされた画像の精度が向上し、より見栄えの良いポストプロセッシングエフェクトを適用したり、テクスチャやキューブマップテクスチャにHDRを使用したり、シームレスなキューブマップを作成したりできます。OpenGL ES 3.2では、ジオメトリシェーダーとテッセレーションシェーダーを使用できます。
OpenGL ES 3.0+を使用する前に、ターゲットプラットフォームがそのAPIバージョンをサポートしていることを確認してください。
Kanzi でOpenGL ES 3.0+を使用するには、
Kanzi Studio メインメニューで、Project > Properties を選択し、Target Graphics API を OpenGL ES 3.0、OpenGL ES 3.1、または OpenGL ES 3.2 に設定します。
シェーダーソースファイルの最初の行に、OpenGL ES 3.0+ バージョンタグを追加します。
OpenGL ES 3.0の場合、追加
#version 300 esOpenGL ES 3.1の場合、追加
#version 310 esOpenGL ES 3.2の場合、追加
#version 320 es
テクスチャの色フォーマットの設定¶
Kanzi Studio プロジェクトに .dds 形式のHDRおよび浮動小数点画像をインポートし、これらの画像を使用するテクスチャのカラーフォーマットを設定できます。
テクスチャのカラーフォーマットを設定するには:
Kanzi Studio メインメニューで、Project > Properties を選択し、Target Graphics API を OpenGL ES 3.0 以降に設定します。
Library > Resource Files > Images で、色フォーマットを設定したい画像を選択します。
Properties で、設定します:
Target Format から Raw へ
Color Format in Raw を、Kanzi がテクスチャを解釈するために使用する色フォーマットに変更します。
Library > Materials and Textures >
Texturesで、前のステップで色フォーマットを設定した画像を使用するテクスチャを選択します。Properties で、設定します:Wrap Mode から Clamp へ
Mipmap Mode から Linear または Nearest へ
レンダーターゲットテクスチャのフォーマットを設定する¶
レンダーターゲットテクスチャのフォーマットを設定して、GPUが使用するターゲットピクセルフォーマットを定義します。
レンダーターゲットテクスチャの形式を設定するには:
Kanzi Studio メインメニューで、Project > Properties を選択し、Target Graphics API を OpenGL ES 3.0 以降に設定します。
Library > Materials and Textures >
Texturesで、Render Target Texture を選択するか作成します。Properties で、使用したいターゲットピクセルフォーマットに Format を設定します。
レンダーターゲットテクスチャが整数ターゲット形式の場合、Minification Filter および Magnification Filter プロパティを Nearest に設定してください。
ランタイムグラフィックスバックエンドの選択¶
Windowsオペレーティングシステムでは、Application::onConfigure 関数内、application.cfg 内、またはコマンドライン引数を使用して、OpenGL ESまたはOpenGLを使用するかどうかを選択できます。ターゲットがコマンドライン引数をサポートしている場合に限ります。
コマンドラインでは、以下を使用します。
-glesを使用して OpenGL ES を利用する-glを使用して OpenGL を利用するEGLを使用する
-eglWGLを使用する
-wglGLXを使用する
-glx
|
|
||||
|
|||||
値 |
|
||||
|
# Sets the surface target for OpenGL rendering and WGL graphics context.
SurfaceClientAPI = gl
GraphicsContextAPI = wgl
|
||||
// Sets the surface target for OpenGL rendering and WGL graphics context.
configuration.defaultSurfaceProperties.clientAPI = SurfaceClientAPI::OpenGL;
configuration.defaultSurfaceProperties.contextAPI = GraphicsContextAPI::WGL;
|
AndroidエミュレーターでOpenGL ES 3.0を有効にする¶
OpenGL ES APIレベルが2.0より高いアプリケーションをAndroidエミュレーターにデプロイする場合、AndroidエミュレーターでOpenGL ES 3.0を有効にしてください。
AndroidエミュレーターでOpenGL ES 3.0を有効にするには:
Android Studioで、Device Manager で、実行中の仮想デバイスに対して Extended Controls を選択します。
Extended Controls ウィンドウで、Settings > Advanced を選択します。OpenGL ES API level オプションを Renderer maximum (up to OpenGL ES 3.1) に設定します。
変更を適用するには、Android Emulator を再起動してください。