public TrackedDeviceBufferManager(Device device)
 {
     objectSpaceToWorldTransformBufferManagers = new CoordinateNormalMatrixPairConstantBufferManager[MaxDeviceCount];
     for (int i = 0; i < MaxDeviceCount; ++i)
     {
         objectSpaceToWorldTransformBufferManagers[i] = new CoordinateNormalMatrixPairConstantBufferManager(device);
     }
 }
コード例 #2
0
    public FigureGroup(Device device, FigureFacade parentFigure, FigureFacade[] childFigures)
    {
        this.parentFigure = parentFigure;
        this.childFigures = childFigures;

        this.modelToWorldTransform = new CoordinateNormalMatrixPairConstantBufferManager(device);
        this.parentDeltas          = new InOutStructuredBufferManager <Vector3>(device, parentFigure.VertexCount);

        parentFigure.RegisterChildren(childFigures.ToList());
    }
コード例 #3
0
    public RenderModelRenderer(Device device, ShaderCache shaderCache, TrackedDeviceBufferManager trackedDeviceBufferManager)
    {
        this.trackedDeviceBufferManager = trackedDeviceBufferManager;

        this.cache = new RenderModelCache(device, new BasicSpecularMaterial.Factory(device, shaderCache));

        var vertexShaderWithBytecode = shaderCache.GetVertexShader <RenderModelRenderer>("game/render-models/RenderModelVertex");

        vertexShader = vertexShaderWithBytecode;
        inputLayout  = new InputLayout(device, vertexShaderWithBytecode.Bytecode, InputElements);

        this.componentSpaceToObjectTransformBufferManager = new CoordinateNormalMatrixPairConstantBufferManager(device);
    }
コード例 #4
0
    public MenuRenderer(Device device, ShaderCache shaderCache, TrackedDeviceBufferManager trackedDeviceBufferManager, ControllerManager controllerManager, ShaderResourceView menuViewTexture)
    {
        this.trackedDeviceBufferManager = trackedDeviceBufferManager;
        this.controllerManager          = controllerManager;
        this.menuViewTexture            = menuViewTexture;
        vertexShader = shaderCache.GetVertexShader <MenuRenderer>("menu/renderer/Menu");
        companionWindowVertexShader = shaderCache.GetVertexShader <MenuRenderer>("menu/renderer/CompanionWindowMenu");
        pixelShader = shaderCache.GetPixelShader <MenuRenderer>("menu/renderer/Menu");
        menuToControllerSpaceTransform = new CoordinateNormalMatrixPairConstantBufferManager(device);

        Matrix menuToControllerTransform = Matrix.Scaling(0.10f) * Matrix.Translation(0, 0, 0f) * Matrix.RotationX(MathUtil.PiOverTwo);

        menuToControllerSpaceTransform.Update(device.ImmediateContext, menuToControllerTransform);
    }
コード例 #5
0
    public MeshRenderer(Device device, ShaderCache shaderCache, Matrix transform, TriMesh mesh)
    {
        this.meshBuffers = new MeshBuffers(device, mesh);

        this.modelToWorldTransform = new CoordinateNormalMatrixPairConstantBufferManager(device);

        var vertexShaderAndBytecode = shaderCache.GetVertexShader <MeshRenderer>("game/MeshVertex");

        this.vertexShader = vertexShaderAndBytecode;
        this.inputLayout  = new InputLayout(device, vertexShaderAndBytecode.Bytecode, MeshBuffers.InputElements);

        using (var texture = MonochromaticTextures.Make(device, Color.LightGray)) {
            var textureView = new ShaderResourceView(device, texture);
            this.material = new BasicSpecularMaterial(device, shaderCache, textureView);
        }

        this.transform = transform;
    }
コード例 #6
0
    public Backdrop(Device device, ShaderCache shaderCache)
    {
        float    size      = 5f;
        Matrix   transform = Matrix.Translation(0, size / 2, 0);
        QuadMesh mesh      = GeometricPrimitiveFactory.MakeCube(size).Flip();

        this.meshBuffers = new MeshBuffers(device, mesh.AsTriMesh());

        this.modelToWorldTransform = new CoordinateNormalMatrixPairConstantBufferManager(device);

        var vertexShaderAndBytecode = shaderCache.GetVertexShader <Backdrop>("backdrop/Backdrop");

        this.vertexShader = vertexShaderAndBytecode;
        this.inputLayout  = new InputLayout(device, vertexShaderAndBytecode.Bytecode, MeshBuffers.InputElements);

        this.pixelShader = shaderCache.GetPixelShader <Backdrop>("backdrop/Backdrop");

        this.transform = transform;
    }