2

私は球を作成し、それに歪みを加えていますが、うまくいきます。ワイヤーフレームで見るとこんな感じ

ワイヤーフレーム

ワイヤーフレームをオフにすると、次のようになります

個体

ご覧のとおり、ワイヤーフレームをオフにすると、陰影がなくなり、歪みが見えなくなります。

私が探しているのは、カスタム fragmentShader に何を配置するかです。

私はこれを使いました

        // calc the dot product and clamp
        // 0 -> 1 rather than -1 -> 1
        vec3 light = vec3(0.5,0.2,1.0);

        // ensure it's normalized
        light = normalize(light);

        // calculate the dot product of
        // the light to the vertex normal
        float dProd = max(0.0, dot(vNormal, light));

        // feed into our frag colour
        gl_FragColor = vec4(dProd, dProd, dProd, 1.0);

しかし、それは非常に醜い偽の光を生み出すだけです. アイデアはありますか?

前もってありがとう、Wezy

4

1 に答える 1

1

Three.js のライトを使用する場合 (理由が思いつきません)、対応するシェーダー チャンクを含める必要があります。

  1. WebGLRendererが THREE.ShaderLib でシェーダーを構成する方法を見てください。
  2. 必要なものに近いマテリアルを選択し、その定義 (ユニフォームと両方のシェーダー コード) をコードにコピーして、カスタムの名前に変更します。
  3. 不要なチャンクを削除し、カスタム コードを適切な場所に追加します
于 2013-01-31T07:45:16.720 に答える