diff options
author | David Thompson <davet@gnu.org> | 2015-06-06 09:30:42 -0400 |
---|---|---|
committer | David Thompson <davet@gnu.org> | 2015-06-06 09:30:42 -0400 |
commit | de2abeb1a9bb6a51b0057baa5097b64c06590297 (patch) | |
tree | d00bd781b7d7bfdcb65b3932d7737196d98dffe9 /sly/render | |
parent | bef0b89e4e8eec38fac455f19657ecff979aa287 (diff) |
render: Bypass texture rendering when a model uses the null texture.
* data/shaders/default-fragment.glsl (use_texture): New uniform.
(main): Skip texture rendering when 'use_texture' is false.
* sly/render/model.scm (draw-model): Set 'use_texture' uniform before
rendering.
* sly/render/shader.scm (load-default-shader): Register 'use_texture'
uniform.
Diffstat (limited to 'sly/render')
-rw-r--r-- | sly/render/model.scm | 1 | ||||
-rw-r--r-- | sly/render/shader.scm | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/sly/render/model.scm b/sly/render/model.scm index 8f83ed5..4d15dc5 100644 --- a/sly/render/model.scm +++ b/sly/render/model.scm @@ -155,6 +155,7 @@ CONTEXT." ;; TODO: Support user-defined uniforms. (uniform-set! shader "mvp" (render-context-transform context)) (uniform-set! shader "color" color) + (uniform-set! shader "use_texture" (not (texture-null? texture))) (glDrawElements (begin-mode triangles) (mesh-length mesh) (data-type unsigned-int) diff --git a/sly/render/shader.scm b/sly/render/shader.scm index f9949fa..9f80d2a 100644 --- a/sly/render/shader.scm +++ b/sly/render/shader.scm @@ -305,7 +305,7 @@ VERTEX-SHADER and FRAGMENT-SHADER." "/shaders/default-vertex.glsl") (string-append %pkgdatadir "/shaders/default-fragment.glsl") - '("mvp" "color") + '("mvp" "color" "use_texture") '("position" "tex"))))) ;;; |