private void HandleCameraDraw(Camera camera) { if (SgtHelper.CanDraw(gameObject, camera) == false) { return; } //var layer = SgtHelper.GetRenderingLayers(gameObject, renderingLayer); var layer = gameObject.layer; Graphics.DrawMesh(generatedMesh, transform.localToWorldMatrix, material, layer, camera, 0, properties); var finalSharedMaterial = sharedMaterial; if (OnOverrideSharedMaterial != null) { OnOverrideSharedMaterial.Invoke(ref finalSharedMaterial, camera); } if (SgtHelper.Enabled(finalSharedMaterial) == true && finalSharedMaterial.Material != null) { Graphics.DrawMesh(generatedMesh, transform.localToWorldMatrix, finalSharedMaterial.Material, layer, camera, 0, properties); } }
private void HandleDrawQuad(Camera camera, SgtTerrainQuad quad, Matrix4x4 matrix, int layer) { var finalSharedMaterial = sharedMaterial; if (OnOverrideSharedMaterial != null) { OnOverrideSharedMaterial.Invoke(ref finalSharedMaterial, camera); } if (SgtHelper.Enabled(finalSharedMaterial) == true && finalSharedMaterial.Material != null) { //if (cameraOffset != 0.0f) //{ // var direction = Vector3.Normalize(camera.transform.position - transform.position); // // matrix = Matrix4x4.Translate(direction * cameraOffset) * matrix; //} foreach (var mesh in quad.CurrentMeshes) { Graphics.DrawMesh(mesh, matrix, finalSharedMaterial.Material, gameObject.layer, camera); } } }