Exemple #1
0
        void InitializeDynamicStates(MgPipelineDynamicStateCreateInfo dynamicState)
        {
            DynamicStates = 0U;

            if (dynamicState != null && dynamicState.DynamicStates != null)
            {
                foreach (var state in dynamicState.DynamicStates)
                {
                    switch (state)
                    {
                    case MgDynamicState.BLEND_CONSTANTS:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.BLEND_CONSTANTS;
                        break;

                    case MgDynamicState.VIEWPORT:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.VIEWPORT;
                        break;

                    case MgDynamicState.SCISSOR:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.SCISSOR;
                        break;

                    case MgDynamicState.STENCIL_REFERENCE:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.STENCIL_REFERENCE;
                        break;

                    case MgDynamicState.STENCIL_WRITE_MASK:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.STENCIL_WRITE_MASK;
                        break;

                    case MgDynamicState.STENCIL_COMPARE_MASK:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.STENCIL_COMPARE_MASK;
                        break;

                    // NOT NEEDED
                    case MgDynamicState.LINE_WIDTH:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.LINE_WIDTH;
                        break;

                    case MgDynamicState.DEPTH_BIAS:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.DEPTH_BIAS;
                        break;

                    // NOT NEEDED
                    case MgDynamicState.DEPTH_BOUNDS:
                        DynamicStates |= AmtGraphicsPipelineDynamicStateFlagBits.DEPTH_BOUNDS;
                        break;
                    }
                }
            }
        }
Exemple #2
0
        void PopulateDynamicStates(MgPipelineDynamicStateCreateInfo dynamicStates)
        {
            GLGraphicsPipelineDynamicStateFlagBits flags = 0;

            if (dynamicStates != null)
            {
                foreach (var state in dynamicStates.DynamicStates)
                {
                    switch (state)
                    {
                    case MgDynamicState.VIEWPORT:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.VIEWPORT;
                        break;

                    case MgDynamicState.SCISSOR:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.SCISSOR;
                        break;

                    case MgDynamicState.BLEND_CONSTANTS:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.BLEND_CONSTANTS;
                        break;

                    case MgDynamicState.STENCIL_COMPARE_MASK:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.STENCIL_COMPARE_MASK;
                        break;

                    case MgDynamicState.STENCIL_REFERENCE:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.STENCIL_REFERENCE;
                        break;

                    case MgDynamicState.STENCIL_WRITE_MASK:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.STENCIL_WRITE_MASK;
                        break;

                    case MgDynamicState.LINE_WIDTH:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.LINE_WIDTH;
                        break;

                    case MgDynamicState.DEPTH_BIAS:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.DEPTH_BIAS;
                        break;

                    case MgDynamicState.DEPTH_BOUNDS:
                        flags |= GLGraphicsPipelineDynamicStateFlagBits.DEPTH_BOUNDS;
                        break;
                    }
                }
                DynamicsStates = flags;
            }
        }