/// <inheritdoc/> protected override void InitializeCore() { renderModelObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey<RenderModelFrameInfo>(); renderEffectKey = ((RootEffectRenderFeature)RootRenderFeature).RenderEffectKey; blendMatrices = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(TransformationSkinningKeys.BlendMatrixArray.Name); }
/// <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); }
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); }
/// <inheritdoc/> protected override void InitializeCore() { renderModelObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey <Color4>(); color = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(HighlightShaderKeys.HighlightColor.Name); }
/// <inheritdoc/> protected override void InitializeCore() { renderObjectInfoKey = RootRenderFeature.RenderData.CreateObjectKey <PickingObjectInfo>(); pickingData = ((RootEffectRenderFeature)RootRenderFeature).CreateDrawCBufferOffsetSlot(PickingShaderKeys.PickingData.Name); }