Gugis
Gugis

Reputation: 539

Three.js no shadows on ShaderMaterial

I'm creating terrain editor with three.js and i have encountered few problems. First. Shadows renders on MeshLambertMaterial, but it wont on ShaderMaterial. Second. How to change object's material (from lambert to shader) on runtime? Here's demo of my editor: http://78.62.160.169/webgl/editor/ And source code: http://78.62.160.169/webgl/editor/script.js

Upvotes: 2

Views: 2803

Answers (2)

xxxx
xxxx

Reputation: 189

here is the example of ShaderMaterial with shadow and fog

https://gist.github.com/wmcmurray/6696fc95f25bbd2401d72a74e9493261

or you can also rewrite a shader from LambertMaterial or other,

make it support your own shader

Upvotes: 0

Dragan Okanovic
Dragan Okanovic

Reputation: 7761

LambertMaterial is a built-in material, that's supported by the plugins. So shadow plugin supports rendering on the LambertMaterial, while ShaderMaterial is your own shader/material, that should manually enable shadow support, it's not set by the default.

Switching material: https://github.com/mrdoob/three.js/wiki/Updates

Upvotes: 1

Related Questions