예제 #1
0
        /// <inheritdoc/>
        protected override void InitializeCore()
        {
            renderModelObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey<RenderModelFrameInfo>();
            renderEffectKey = ((RootEffectRenderFeature)RootRenderFeature).RenderEffectKey;

            blendMatrices = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(TransformationSkinningKeys.BlendMatrixArray.Name);
        }
예제 #2
0
        /// <inheritdoc/>
        protected override void InitializeCore()
        {
            renderModelObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey<RenderModelFrameInfo>();
            renderModelViewInfoKey = RootRenderFeature.RenderData.CreateViewObjectKey<RenderModelViewInfo>();

            time = ((RootEffectRenderFeature)RootRenderFeature).CreateFrameCBufferOffsetSlot(GlobalKeys.Time.Name);
            view = ((RootEffectRenderFeature)RootRenderFeature).CreateViewCBufferOffsetSlot(TransformationKeys.View.Name);
            camera = ((RootEffectRenderFeature)RootRenderFeature).CreateViewCBufferOffsetSlot(CameraKeys.NearClipPlane.Name);
            world = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(TransformationKeys.World.Name);
        }
예제 #3
0
        protected override void InitializeCore()
        {
            _objectInfoPropertyKey = RootRenderFeature.RenderData.CreateObjectKey <ObjectInfoData>();
            _objectInfoDataBuffer  = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(ObjectInfoOutputShaderKeys.ObjectInfo.Name);

            // Note that I am unsure why we need to create our own BlendMatrixArray key rather than
            // reuse TransformationSkinningKeys.BlendMatrixArray.
            // When I tried to reuse TransformationSkinningKeys.BlendMatrixArray, the skinned model had graphical glitches,
            // but creating our own key does not have this issue.
            _blendMatricesPropertyKey = RootRenderFeature.RenderData.CreateObjectKey <Matrix[]>();
            _blendMatricesDataBuffer  = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(OioTransformationSkinningKeys.BlendMatrixArray.Name);
        }
예제 #4
0
        /// <inheritdoc/>
        protected override void InitializeCore()
        {
            renderModelObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey <Color4>();

            color = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(HighlightShaderKeys.HighlightColor.Name);
        }
예제 #5
0
        /// <inheritdoc/>
        protected override void InitializeCore()
        {
            renderObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey <PickingObjectInfo>();

            pickingData = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(PickingShaderKeys.PickingData.Name);
        }