dglsl ~master

A GLSL bridge for D.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

dglsl

このライブラリはα版であり、ほとんどの機能が未実装です。

GLSL3.3のシェーダをD言語から使いやすくするためのライブラリです。

インストール

dub.jsonに以下のように書いてください。

  ...
  "stringImportPaths": ["./"],
  "dependencies": {
    "dglsl": "~>0.6.0"
  }
  ...

stringImportPathsの指定を忘れないようにしてください。

使い方

次のようにクラスとしてシェーダプログラムを定義します。

import dglsl;

class VertShader : Shader!Vertex {
  @layout(location = 0)
  @input vec3 position;
  
  @layout(location = 1)
  @input vec3 color;
  
  @output vec3 vertColor;
  
  @uniform mat4 projectionMatrix;
  
  void main() {
    vertColor = color;
    gl_Position = projectionMatrix * vec4(position, 1.0);
  }
}

class FragShader : Shader!Fragment {
  @input vec3 vertColor;
  @output vec3 fragColor;
  
  void main() {
    fragColor = vec3(vertColor);
  }
}

次に、シェーダをコンパイルしてプログラムを作成します。

auto shader = new VertShader();
shader.compile();

auto frag = new FragShader();
frag.compile();

auto p = makeProgram(shader, frag);
glUseProgram(p.id);
p.projectionMatrix = mat4.identity;

あとは標準のOpenGL3の機能を使って描画を行うことができます。

Authors:
  • Taichi Tomioka
Dependencies:
derelict-gl3, gl3n
Versions:
0.6.0 2016-Jan-18
0.5.0 2016-Jan-10
~master 2016-Apr-15
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 129 downloads total

Score:
1.6
Short URL:
dglsl.dub.pm