glslkit 0.1.0.pre → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/README.md +15 -8
- data/lib/glslkit/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b913beb23e628912335b528e6e55d9afed2bca9b20773917bf20531d03cfc6a4
|
|
4
|
+
data.tar.gz: a0c567c0deea712d00ea54cf25abe61efc5fbdabe97ea35102b6e84d802e8bff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f92e7eee6b86bfee3c976c87bdd8be41b65507f3bbedb0afa88dbbbc5e7b46cd2598702c791d8ac3c8eb04b1547bc41672a5899329313429677a147f3d0642fe
|
|
7
|
+
data.tar.gz: c9b9cdc6708d36eb9b9dfc53897ead4d0719cef33a91abf372648c97b03d424e74ba2f20c665692e938adec7bbac56c2b709342629e87fbac5e8d58eea6229e4
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# glslkit
|
|
2
2
|
|
|
3
3
|
GLSLソースを前処理・解析し、ビルド時に得たリフレクション情報(uniform / attribute
|
|
4
|
-
/ output / uniform block)をJSONとして残すためのRuby gem
|
|
5
|
-
(stdlibの `json` `strscan` `set` `digest`
|
|
6
|
-
上のWebGL
|
|
4
|
+
/ output / uniform block)をJSONとして残すためのRuby gem。外部gemへの依存はゼロ
|
|
5
|
+
(stdlibの `json` `strscan` `set` `digest` のみを使う)で、将来
|
|
6
|
+
[ruby.wasm](https://github.com/ruby/ruby.wasm) 上のWebGLバインディングに
|
|
7
|
+
そのまま組み込めることを狙っている。
|
|
7
8
|
|
|
8
9
|
Rails (Propshaft) との統合は別gem [`glslkit-rails`](../rails) が提供する。
|
|
9
10
|
|
|
@@ -73,17 +74,23 @@ vertex/fragmentの `Source` ペアから、`spec/schema/reflection-v1.json`
|
|
|
73
74
|
(Draft 2020-12 JSON Schema) に準拠したマニフェストを組み立てる:
|
|
74
75
|
|
|
75
76
|
```ruby
|
|
76
|
-
|
|
77
|
-
manifest.
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
program = Glslkit::Program.new(name: "pbr", sources: {vertex: vertex_source, fragment: fragment_source})
|
|
78
|
+
manifest = Glslkit::Manifest.build(
|
|
79
|
+
programs: [program],
|
|
80
|
+
urls: {"pbr" => {vertex: "/assets/pbr-a1b2.vert", fragment: "/assets/pbr-c3d4.frag"}}
|
|
81
|
+
)
|
|
80
82
|
|
|
81
|
-
manifest
|
|
83
|
+
manifest["generator"] # => "glslkit/<version>" (このManifestを実際に組み立てたのがglslkitであることの来歴。手書きマニフェストには付かない)
|
|
84
|
+
JSON.generate(manifest)
|
|
82
85
|
```
|
|
83
86
|
|
|
84
87
|
同名uniform/uniform_blockはステージ間で1エントリに統合され、型
|
|
85
88
|
(またはlayout/binding)が食い違えば `Glslkit::StageMismatchError` になる。
|
|
86
89
|
|
|
90
|
+
`Glslkit::Manifest.new` + `#add_program` という下位レベルの組み立て方も
|
|
91
|
+
存在するが、`generator:` を渡し忘れると来歴情報が欠けたマニフェストになる
|
|
92
|
+
(生成物なのに手書き扱いされる)。特別な理由が無ければ `Manifest.build` を使うこと。
|
|
93
|
+
|
|
87
94
|
### Minify
|
|
88
95
|
|
|
89
96
|
コメント・空白の除去のみを行う(識別子リネームはしない)。改行は一切削除しない
|
data/lib/glslkit/version.rb
CHANGED