當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript mat3.fromMat4方法代碼示例

本文整理匯總了TypeScript中gl-matrix.mat3.fromMat4方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript mat3.fromMat4方法的具體用法?TypeScript mat3.fromMat4怎麽用?TypeScript mat3.fromMat4使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在gl-matrix.mat3的用法示例。


在下文中一共展示了mat3.fromMat4方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1:

outMat2d = mat2d.fromRotation(outMat2d, 0.5);
outMat2d = mat2d.fromScaling(outMat2d, vec2A);
outMat2d = mat2d.fromTranslation(outMat2d, vec2A);
outStr = mat2d.str(mat2dA);
outVal = mat2d.frob(mat2dA);
outMat2d = mat2d.add(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.subtract(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.sub(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.multiplyScalar (outMat2d, mat2dA, 2);
outMat2d = mat2d.multiplyScalarAndAdd (outMat2d, mat2dA, mat2dB, 2);
outBool = mat2d.exactEquals(mat2dA, mat2dB);
outBool = mat2d.equals(mat2dA, mat2dB);

// mat3
outMat3 = mat3.create();
outMat3 = mat3.fromMat4(outMat3, mat4A);
outMat3 = mat3.clone(mat3A);
outMat3 = mat3.copy(outMat3, mat3A);
outMat3 = mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.identity(outMat3);
outMat3 = mat3.transpose(outMat3, mat3A);
outMat3Null = mat3.invert(outMat3, mat3A);
outMat3 = mat3.adjoint(outMat3, mat3A);
outVal = mat3.determinant(mat3A);
outMat3 = mat3.multiply(outMat3, mat3A, mat3B);
outMat3 = mat3.mul(outMat3, mat3A, mat3B);
outMat3 = mat3.translate(outMat3, mat3A, vec3A);
outMat3 = mat3.rotate(outMat3, mat3A, Math.PI/2);
outMat3 = mat3.scale(outMat3, mat3A, vec2A);
outMat3 = mat3.fromTranslation(outMat3, vec2A);
開發者ID:DenisCarriere,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:gl-matrix-tests.ts

示例2: setUniforms


//.........這裏部分代碼省略.........
            uniform.value[1],
            uniform.value[2]
          );
          break;
        }
        case '4f': {
          gl.uniform4f(
            uniform.location,
            uniform.value[0],
            uniform.value[1],
            uniform.value[2],
            uniform.value[3]
          );
          break;
        }
        case '1iv': {
          gl.uniform1iv(uniform.location, uniform.value);
          break;
        }
        case '2iv': {
          gl.uniform2iv(uniform.location, uniform.value);
          break;
        }
        case '1fv': {
          gl.uniform1fv(uniform.location, uniform.value);
          break;
        }
        case '2fv': {
          gl.uniform2fv(uniform.location, uniform.value);
          break;
        }
        case '3fv': {
          gl.uniform3fv(uniform.location, uniform.value);
          break;
        }
        case '4fv': {
          gl.uniform4fv(uniform.location, uniform.value);
          break;
        }
        case 'Matrix3fv': {
          gl.uniformMatrix3fv(uniform.location, false, uniform.value);
          break;
        }
        case 'Matrix4fv': {
          gl.uniformMatrix4fv(uniform.location, false, uniform.value);
          break;
        }
        default:
      }
    });

    if (!GL.webgl2) {
      gl.uniformMatrix4fv(
        this.uniforms.uProjectionMatrix.location,
        false,
        projectionMatrix
      );
    }

    gl.uniformMatrix4fv(
      this.uniforms.uModelViewMatrix.location,
      false,
      modelViewMatrix
    );
    gl.uniformMatrix4fv(
      this.uniforms.uModelMatrix.location,
      false,
      modelMatrix
    );

    mat4.identity(inversedModelViewMatrix);
    mat4.invert(inversedModelViewMatrix, modelMatrix);

    mat3.identity(normalMatrix);
    mat3.fromMat4(normalMatrix, inversedModelViewMatrix);
    mat3.transpose(normalMatrix, normalMatrix);
    gl.uniformMatrix3fv(
      this.uniforms.uNormalMatrix.location,
      false,
      normalMatrix
    );

    // uDiffuse
    gl.uniform3f(
      this.uniforms.uDiffuse.location,
      this.uniforms.uDiffuse.value[0],
      this.uniforms.uDiffuse.value[1],
      this.uniforms.uDiffuse.value[2]
    );

    // Camera
    if (camera && this.uniforms.uCameraPosition) {
      gl.uniform3f(
        this.uniforms.uCameraPosition.location,
        camera.position.v[0],
        camera.position.v[1],
        camera.position.v[2]
      );
    }
  }
開發者ID:davidpaulrosser,項目名稱:leonardo,代碼行數:101,代碼來源:Material.ts


注:本文中的gl-matrix.mat3.fromMat4方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。