本文整理汇总了C#中Matrix4.ClearTranslation方法的典型用法代码示例。如果您正苦于以下问题:C# Matrix4.ClearTranslation方法的具体用法?C# Matrix4.ClearTranslation怎么用?C# Matrix4.ClearTranslation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Matrix4
的用法示例。
在下文中一共展示了Matrix4.ClearTranslation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: uploadParameters
private void uploadParameters(WorldObject worldObject, Matrix4 viewMatrix, Matrix4 projectionMatrix, Matrix4 depthViewProjectionMatrix, Vector3 lightDirection)
{
// Matrices for Shader
Matrix4 mv = worldObject.modelMatrix * viewMatrix;
Matrix4 mvp = mv * projectionMatrix;
Matrix4 mNormal = Utility.getNormalMatrix(mv);
GL.UniformMatrix4(mvpLocation, false, ref mvp);
GL.UniformMatrix4(viewModelLocation, false, ref mv);
GL.UniformMatrix4(normalMatrixLocation, false, ref mNormal);
// Set Light Direction
GL.Uniform3(lightDirectionLocation, Vector3.Transform(lightDirection, viewMatrix.ClearTranslation()));
// Compute the MVP matrix from the light's point of view (and add a bias)
Matrix4 depthMVP = worldObject.modelMatrix * depthViewProjectionMatrix * biasMatrix;
GL.UniformMatrix4(depthBiasMVPLocation, false, ref depthMVP);
GL.Uniform1(shadowMapLocation, 0);
GL.Uniform1(textureLocation, 1);
GL.Uniform1(useStratifiedPoissonSamplingLocation, useStratifiedPoissonSampling);
if(worldObject.mesh.isTextured == true)
GL.Uniform1(useModelTextureLocation, 1f);
else GL.Uniform1(useModelTextureLocation, 0f);
// Phong
GL.Uniform3(diffuseLocation, worldObject.diffuse);
GL.Uniform3(ambientLocation, worldObject. ambient);
GL.Uniform3(specularLocation, worldObject.specular);
GL.Uniform1(shininessLocation, worldObject.shininess);
}
示例2: Setup3D
/// <summary>
/// Setting up 3D matrices<para/>
/// Подготовка матриц проекции
/// </summary>
public static void Setup3D() {
// Rebuild modelview
// Пересчёт матрицы расположения
if (needModelRebuild) {
modelMatrix =
Matrix4.CreateRotationZ(-angles.Z * 0.0174f) *
Matrix4.CreateRotationX(-angles.X * 0.0174f) *
Matrix4.CreateRotationY(-angles.Y * 0.0174f) *
Matrix4.CreateTranslation(position.X, position.Y, -position.Z);
modelInvMatrix = modelMatrix.Inverted();
skyMatrix = modelInvMatrix.ClearTranslation();
needModelRebuild = false;
}
// Rebuild projection
// Пересчёт матрицы проекции
if (needViewRebuild) {
projMatrix =
Matrix4.CreatePerspectiveFieldOfView((float)Math.PI / 3f / zoom, size.X/size.Y, CameraNear, farClip);
needViewRebuild = false;
}
// Clearing depth
// Очистка глубины
GL.Clear(ClearBufferMask.DepthBufferBit);
// Update frustum
// Обновление пирамиды отсечения
Frustum.Update(projMatrix, modelInvMatrix);
}