internal static unsafe void Init() { m_vs = MyShaders.CreateVs("Primitives/OcclusionQuery.hlsl", null); m_ps = MyShaders.CreatePs("Primitives/OcclusionQuery.hlsl", null); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout( new MyVertexInputComponent(MyVertexInputComponentType.CUSTOM4_0, MyVertexInputComponentFreq.PER_INSTANCE))); }
internal static void Init() { m_vs = MyShaders.CreateVs("decal.hlsl"); m_ps = MyShaders.CreatePs("decal.hlsl"); InitIB(); }
internal unsafe static void Init() { m_cbCustomProjections = MyHwBuffers.CreateConstantsBuffer(sizeof(Matrix) * MAX_CUSTOM_PROJECTIONS_SIZE, "BilloardCustomProjections"); m_vs = MyShaders.CreateVs("billboard.hlsl"); m_vsDepthOnly = MyShaders.CreateVs("billboard_depth_only.hlsl"); m_ps = MyShaders.CreatePs("billboard.hlsl"); m_psDepthOnly = MyShaders.CreatePs("billboard_depth_only.hlsl"); m_psOIT = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("OIT", null) }); m_vsLit = MyShaders.CreateVs("billboard.hlsl", new[] { new ShaderMacro("LIT_PARTICLE", null) }); m_psLit = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("LIT_PARTICLE", null) }); m_psLitOIT = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("LIT_PARTICLE", null), new ShaderMacro("OIT", null) }); m_psAlphaCutout = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null) }); m_psAlphaCutoutAndLit = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null), new ShaderMacro("LIT_PARTICLE", null) }); m_psAlphaCutoutOIT = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null), new ShaderMacro("OIT", null) }); m_psAlphaCutoutAndLitOIT = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null), new ShaderMacro("LIT_PARTICLE", null), new ShaderMacro("OIT", null) }); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.TEXCOORD0_H)); InitBillboardsIndexBuffer(); m_VB = MyHwBuffers.CreateVertexBuffer(MAX_BILLBOARDS_SIZE * 4, sizeof(MyVertexFormatPositionTextureH), BindFlags.VertexBuffer, ResourceUsage.Dynamic, null, "MyBillboardRenderer"); var stride = sizeof(MyBillboardData); m_SB = MyHwBuffers.CreateStructuredBuffer(MAX_BILLBOARDS_SIZE, stride, true, null, "MyBillboardRenderer"); m_atlas = new MyTextureAtlas("Textures\\Particles\\", "Textures\\Particles\\ParticlesAtlas.tai"); }
internal static void Init() { //MyRender11.RegisterSettingsChangedListener(new OnSettingsChangedDelegate(RecreateShadersForSettings)); m_screenVertexShader = MyShaders.CreateVs("debug_base_color.hlsl"); m_baseColorShader = MyShaders.CreatePs("debug_base_color.hlsl"); m_baseColorLinearShader = MyShaders.CreatePs("debug_base_color_linear.hlsl"); m_normalShader = MyShaders.CreatePs("debug_normal.hlsl"); m_normalViewShader = MyShaders.CreatePs("debug_normal_view.hlsl"); m_glossinessShader = MyShaders.CreatePs("debug_glossiness.hlsl"); m_metalnessShader = MyShaders.CreatePs("debug_metalness.hlsl"); m_matIDShader = MyShaders.CreatePs("debug_mat_id.hlsl"); m_aoShader = MyShaders.CreatePs("debug_ambient_occlusion.hlsl"); m_emissiveShader = MyShaders.CreatePs("debug_emissive.hlsl"); m_ambientDiffuseShader = MyShaders.CreatePs("debug_ambient_diffuse.hlsl"); m_ambientSpecularShader = MyShaders.CreatePs("debug_ambient_specular.hlsl"); m_edgeDebugShader = MyShaders.CreatePs("debug_edge.hlsl"); m_shadowsDebugShader = MyShaders.CreatePs("debug_cascades_shadow.hlsl"); m_NDotLShader = MyShaders.CreatePs("debug_NDotL.hlsl"); m_depthShader = MyShaders.CreatePs("debug_Depth.hlsl"); m_stencilShader = MyShaders.CreatePs("debug_Stencil.hlsl"); m_blitTextureShader = MyShaders.CreatePs("debug_blitTexture.hlsl"); m_blitTexture3DShader = MyShaders.CreatePs("debug_blitTexture3D.hlsl"); m_blitTextureArrayShader = MyShaders.CreatePs("debug_blitTextureArray.hlsl"); m_inputLayout = MyShaders.CreateIL(m_screenVertexShader.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION2, MyVertexInputComponentType.TEXCOORD0)); m_quadBuffer = MyHwBuffers.CreateVertexBuffer(6, MyVertexFormatPosition2Texcoord.STRIDE, BindFlags.VertexBuffer, ResourceUsage.Dynamic, null, "MyDebugRenderer quad"); }
internal unsafe static void Init() { //m_spotlightShadowmapPool = new MyShadowmapArray(256, 256, 4, Format.R16_Typeless, Format.D16_UNorm, Format.R16_Float); //m_spotlightShadowmapPool.SetDebugName("spotlight shadowmaps pool"); m_cascadesNum = 4; m_splitDepth = new float[m_cascadesNum + 1]; m_cascadeResolution = 1024; ResizeCascades(); m_csmConstants = MyHwBuffers.CreateConstantsBuffer((sizeof(Matrix) + sizeof(Vector2)) * 8 + 2 * sizeof(Vector4)); m_cascadesBoundingsVertices = MyHwBuffers.CreateVertexBuffer(8 * 4, sizeof(Vector3), BindFlags.VertexBuffer, ResourceUsage.Dynamic); InitIB(); m_cornersCS = new Vector3[8] { new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0), new Vector3(1, -1, 0), new Vector3(-1, -1, 1), new Vector3(-1, 1, 1), new Vector3(1, 1, 1), new Vector3(1, -1, 1) }; m_markVS = MyShaders.CreateVs("shape.hlsl", "vs"); m_markPS = MyShaders.CreatePs("shape.hlsl", "ps_dummy"); m_inputLayout = MyShaders.CreateIL(m_markVS.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3)); }
private void InitShaders() { if (m_VS == VertexShaderId.NULL) { m_VS = MyShaders.CreateVs(FoliageRenderShader); } if (m_GS[0] == GeometryShaderId.NULL) { m_GS[0] = MyShaders.CreateGs(FoliageRenderShader); } if (m_PS[0] == PixelShaderId.NULL) { m_PS[0] = MyShaders.CreatePs(FoliageRenderShader); } var foliageMacro = new[] { new ShaderMacro("ROCK_FOLIAGE", null) }; if (m_GS[1] == GeometryShaderId.NULL) { m_GS[1] = MyShaders.CreateGs(FoliageRenderShader, foliageMacro); } if (m_PS[1] == PixelShaderId.NULL) { m_PS[1] = MyShaders.CreatePs(FoliageRenderShader, foliageMacro); } if (m_inputLayout == InputLayoutId.NULL) { m_inputLayout = MyShaders.CreateIL(m_VS.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.CUSTOM_UNORM4_0)); } }
private void InitShaders() { if (m_markVS == VertexShaderId.NULL) { m_markVS = MyShaders.CreateVs("ShadowsOld/Shape.hlsl"); } if (m_markPS == PixelShaderId.NULL) { m_markPS = MyShaders.CreatePs("ShadowsOld/Shape.hlsl"); } if (m_inputLayout == InputLayoutId.NULL) { m_inputLayout = MyShaders.CreateIL(m_markVS.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3)); } if (m_combinePS == PixelShaderId.NULL) { m_combinePS = MyShaders.CreatePs("ShadowsOld/CombineShadows.hlsl"); } m_gatherCS_LD = MyShaders.CreateCs("ShadowsOld/Shadows.hlsl"); m_gatherCS_MD = MyShaders.CreateCs("ShadowsOld/Shadows.hlsl", new[] { new ShaderMacro("ENABLE_PCF", null) }); m_gatherCS_HD = MyShaders.CreateCs("ShadowsOld/Shadows.hlsl", new[] { new ShaderMacro("ENABLE_PCF", null), new ShaderMacro("ENABLE_DISTORTION", null) }); }
internal static void Init() { //MyRender11.RegisterSettingsChangedListener(new OnSettingsChangedDelegate(RecreateShadersForSettings)); m_screenVertexShader = MyShaders.CreateVs("Debug/DebugBaseColor.hlsl"); m_baseColorShader = MyShaders.CreatePs("Debug/DebugBaseColor.hlsl"); m_albedoShader = MyShaders.CreatePs("Debug/DebugAlbedo.hlsl"); m_normalShader = MyShaders.CreatePs("Debug/DebugNormal.hlsl"); m_normalViewShader = MyShaders.CreatePs("Debug/DebugNormalView.hlsl"); m_glossinessShader = MyShaders.CreatePs("Debug/DebugGlossiness.hlsl"); m_metalnessShader = MyShaders.CreatePs("Debug/DebugMetalness.hlsl"); m_aoShader = MyShaders.CreatePs("Debug/DebugAmbientOcclusion.hlsl"); m_emissiveShader = MyShaders.CreatePs("Debug/DebugEmissive.hlsl"); m_ambientDiffuseShader = MyShaders.CreatePs("Debug/DebugAmbientDiffuse.hlsl"); m_ambientSpecularShader = MyShaders.CreatePs("Debug/DebugAmbientSpecular.hlsl"); m_edgeDebugShader = MyShaders.CreatePs("Debug/DebugEdge.hlsl"); m_shadowsDebugShader = MyShaders.CreatePs("Debug/DebugCascadesShadow.hlsl"); m_NDotLShader = MyShaders.CreatePs("Debug/DebugNDotL.hlsl"); m_LODShader = MyShaders.CreatePs("Debug/DebugLOD.hlsl"); m_depthShader = MyShaders.CreatePs("Debug/DebugDepth.hlsl"); m_depthReprojectionShader = MyShaders.CreateCs("Debug/DebugDepthReprojection.hlsl"); m_stencilShader = MyShaders.CreatePs("Debug/DebugStencil.hlsl"); m_rtShader = MyShaders.CreatePs("Debug/DebugRt.hlsl"); m_blitTextureShader = MyShaders.CreatePs("Debug/DebugBlitTexture.hlsl"); m_blitTexture3DShader = MyShaders.CreatePs("Debug/DebugBlitTexture3D.hlsl"); m_blitTextureArrayShader = MyShaders.CreatePs("Debug/DebugBlitTextureArray.hlsl"); m_inputLayout = MyShaders.CreateIL(m_screenVertexShader.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION2, MyVertexInputComponentType.TEXCOORD0)); m_quadBuffer = MyManagers.Buffers.CreateVertexBuffer( "MyDebugRenderer quad", 6, MyVertexFormatPosition2Texcoord.STRIDE, usage: ResourceUsage.Dynamic); }
internal static void Init() { m_VSCopy = MyShaders.CreateVs("Postprocess/PostprocessCopy.hlsl"); { m_VBFullscreen = MyManagers.Buffers.CreateVertexBuffer( "MyScreenPass.VBFullscreen", 4, VRageRender.Vertex.MyVertexFormatPositionTextureH.STRIDE, usage: ResourceUsage.Dynamic); m_vbData[0] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(-1, -1, 0), new VRageMath.PackedVector.HalfVector2(0, 1f)); m_vbData[1] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(-1, 1, 0), new VRageMath.PackedVector.HalfVector2(0, 0)); m_vbData[2] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(1, -1, 0), new VRageMath.PackedVector.HalfVector2(1, 1f)); m_vbData[3] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(1, 1, 0), new VRageMath.PackedVector.HalfVector2(1, 0f)); MyMapping mapping = MyMapping.MapDiscard(RC, m_VBFullscreen); mapping.WriteAndPosition(m_vbData, 4); mapping.Unmap(); } { m_VBLeftPart = MyManagers.Buffers.CreateVertexBuffer( "MyVRScreenPass.VBLeftPart", 4, VRageRender.Vertex.MyVertexFormatPositionTextureH.STRIDE, usage: ResourceUsage.Dynamic); m_vbData[0] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(-1, -1, 0), new VRageMath.PackedVector.HalfVector2(0, 1)); m_vbData[1] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(-1, 1, 0), new VRageMath.PackedVector.HalfVector2(0, 0)); m_vbData[2] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(0, -1, 0), new VRageMath.PackedVector.HalfVector2(0.5f, 1)); m_vbData[3] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(0, 1, 0), new VRageMath.PackedVector.HalfVector2(0.5f, 0f)); MyMapping mapping = MyMapping.MapDiscard(RC, m_VBLeftPart); mapping.WriteAndPosition(m_vbData, 4); mapping.Unmap(); } { m_VBRightPart = MyManagers.Buffers.CreateVertexBuffer( "MyVRScreenPass.VBRightPart", 4, VRageRender.Vertex.MyVertexFormatPositionTextureH.STRIDE, usage: ResourceUsage.Dynamic); m_vbData[0] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(0, -1, 0), new VRageMath.PackedVector.HalfVector2(0.5f, 1)); m_vbData[1] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(0, 1, 0), new VRageMath.PackedVector.HalfVector2(0.5f, 0)); m_vbData[2] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(1, -1, 0), new VRageMath.PackedVector.HalfVector2(1, 1)); m_vbData[3] = new VRageRender.Vertex.MyVertexFormatPositionTextureH(new Vector3(1, 1, 0), new VRageMath.PackedVector.HalfVector2(1, 0)); MyMapping mapping = MyMapping.MapDiscard(RC, m_VBRightPart); mapping.WriteAndPosition(m_vbData, 4); mapping.Unmap(); } // just some shader bytecode is selected m_IL = MyShaders.CreateIL(m_VSCopy.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.TEXCOORD0_H)); }
internal unsafe static void Init() { m_vs = MyShaders.CreateVs("line.hlsl"); m_ps = MyShaders.CreatePs("line.hlsl"); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.COLOR4)); m_currentBufferSize = 100000; m_VB = MyHwBuffers.CreateVertexBuffer(m_currentBufferSize, sizeof(MyVertexFormatPositionColor), BindFlags.VertexBuffer, ResourceUsage.Dynamic); }
internal static void Init() { m_VS = MyShaders.CreateVs("foliage2.hlsl", "vs"); m_GS[0] = MyShaders.CreateGs("foliage2.hlsl", "gs"); m_PS[0] = MyShaders.CreatePs("foliage2.hlsl", "ps"); m_GS[1] = MyShaders.CreateGs("foliage2.hlsl", "gs", MyShaderHelpers.FormatMacros("ROCK_FOLIAGE")); m_PS[1] = MyShaders.CreatePs("foliage2.hlsl", "ps", MyShaderHelpers.FormatMacros("ROCK_FOLIAGE")); m_inputLayout = MyShaders.CreateIL(m_VS.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.CUSTOM_UNORM4_0)); }
// inscatter texture // transmittance texture //static RwTexId m_transmittanceLut; //static RwTexId m_inscatterLutR; //static RwTexId m_inscatterLutM; internal static void Init() { m_ps = MyShaders.CreatePs("atmosphere.hlsl"); m_psPerSample = MyShaders.CreatePs("atmosphere.hlsl", MyRender11.ShaderSampleFrequencyDefine()); m_precomputeDensity = MyShaders.CreateCs("AtmospherePrecompute.hlsl"); m_proxyVs = MyShaders.CreateVs("atmosphere.hlsl"); m_proxyIL = MyShaders.CreateIL(m_proxyVs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION_PACKED)); }
internal unsafe static void Init() { m_vs = MyShaders.CreateVs("Primitives/Lines.hlsl"); m_ps = MyShaders.CreatePs("Primitives/Lines.hlsl"); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.COLOR4)); m_currentBufferSize = 100000; m_VB = MyManagers.Buffers.CreateVertexBuffer( "MyLinesRenderer", m_currentBufferSize, sizeof(MyVertexFormatPositionColor), usage: ResourceUsage.Dynamic); }
internal static void Init() { m_vs = MyShaders.CreateVs("decal.hlsl"); var normalMapMacro = new ShaderMacro("USE_NORMALMAP_DECAL", null); var colorMapMacro = new ShaderMacro("USE_COLORMAP_DECAL", null); m_psColorMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { colorMapMacro, new ShaderMacro("USE_DUAL_SOURCE_BLENDING", null) }); m_psNormalMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { normalMapMacro }); m_psNormalColorMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { normalMapMacro, colorMapMacro }); InitIB(); }
internal static void Init() { m_proxyVs = MyShaders.CreateVs("Transparent/Clouds/Clouds.hlsl"); m_cloudPs = MyShaders.CreatePs("Transparent/Clouds/Clouds.hlsl"); m_proxyIL = MyShaders.CreateIL(m_proxyVs.BytecodeId, MyVertexLayouts.GetLayout( new MyVertexInputComponent(MyVertexInputComponentType.POSITION_PACKED, 0), new MyVertexInputComponent(MyVertexInputComponentType.NORMAL, 1), new MyVertexInputComponent(MyVertexInputComponentType.TANGENT_SIGN_OF_BITANGENT, 1), new MyVertexInputComponent(MyVertexInputComponentType.TEXCOORD0_H, 1))); m_fogShader = MyShaders.CreateCs("Transparent/Clouds/Clouds.hlsl", new[] { new ShaderMacro("NUMTHREADS", m_numFogThreads) }); }
private static void InitInternal(Vector2[] vertsForMask) { m_VB = MyHwBuffers.CreateVertexBuffer(vertsForMask.Length, MyVertexFormat2DPosition.STRIDE, BindFlags.VertexBuffer, ResourceUsage.Dynamic, null, "MyStereoStencilMask.VB"); MyMapping mapping = MyMapping.MapDiscard(RC.DeviceContext, m_VB.Buffer); mapping.WriteAndPosition(vertsForMask, 0, vertsForMask.Length); mapping.Unmap(); m_vs = MyShaders.CreateVs("stereo_stencil_mask.hlsl"); m_ps = MyShaders.CreatePs("stereo_stencil_mask.hlsl"); m_il = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION2)); }
// inscatter texture // transmittance texture //static RwTexId m_transmittanceLut; //static RwTexId m_inscatterLutR; //static RwTexId m_inscatterLutM; internal static void Init() { m_ps = MyShaders.CreatePs("atmosphere.hlsl", "psAtmosphereInscatter"); m_psT = MyShaders.CreatePs("atmosphere.hlsl", "psAtmosphereTransmittance"); m_psPerSample = MyShaders.CreatePs("atmosphere.hlsl", "psAtmosphereInscatter", MyShaderHelpers.FormatMacros(MyRender11.ShaderSampleFrequencyDefine())); m_psTPerSample = MyShaders.CreatePs("atmosphere.hlsl", "psAtmosphereTransmittance", MyShaderHelpers.FormatMacros(MyRender11.ShaderSampleFrequencyDefine())); m_precomputeDensity = MyShaders.CreateCs("AtmospherePrecompute.hlsl", "precomputeDensity"); m_precomputeInscatter1 = MyShaders.CreateCs("AtmospherePrecompute.hlsl", "precomputeInscatter1"); m_proxyVs = MyShaders.CreateVs("atmosphere.hlsl", "proxyVs"); m_proxyIL = MyShaders.CreateIL(m_proxyVs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION_PACKED)); //Precompute(); }
private static void InitInternal(Vector2[] vertsForMask) { m_VB = MyManagers.Buffers.CreateVertexBuffer( "MyStereoStencilMask.VB", vertsForMask.Length, MyVertexFormat2DPosition.STRIDE, usage: ResourceUsage.Dynamic); MyMapping mapping = MyMapping.MapDiscard(RC, m_VB); mapping.WriteAndPosition(vertsForMask, vertsForMask.Length); mapping.Unmap(); m_vs = MyShaders.CreateVs("Stereo/StereoStencilMask.hlsl"); m_ps = MyShaders.CreatePs("Stereo/StereoStencilMask.hlsl"); m_il = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION2)); }
internal static void Init() { m_vs = MyShaders.CreateVs("Decals/Decals.hlsl"); var transparentMacro = new ShaderMacro("RENDER_TO_TRANSPARENT", null); m_psColorMapTransparent = MyShaders.CreatePs("Decals/Decals.hlsl", new ShaderMacro[] { transparentMacro }); m_psColorMap = MyShaders.CreatePs("Decals/Decals.hlsl", MyMeshMaterials1.GetMaterialTextureMacros(MyFileTextureEnum.COLOR_METAL)); m_psNormalMap = MyShaders.CreatePs("Decals/Decals.hlsl", MyMeshMaterials1.GetMaterialTextureMacros(MyFileTextureEnum.NORMALMAP_GLOSS)); m_psNormalColorMap = MyShaders.CreatePs("Decals/Decals.hlsl", MyMeshMaterials1.GetMaterialTextureMacros(MyFileTextureEnum.COLOR_METAL | MyFileTextureEnum.NORMALMAP_GLOSS)); m_psNormalColorExtMap = MyShaders.CreatePs("Decals/Decals.hlsl", MyMeshMaterials1.GetMaterialTextureMacros( MyFileTextureEnum.COLOR_METAL | MyFileTextureEnum.NORMALMAP_GLOSS | MyFileTextureEnum.EXTENSIONS)); InitIB(); }
internal static void Init() { m_vs = MyShaders.CreateVs("decal.hlsl"); var normalMapMacro = new ShaderMacro("USE_NORMALMAP_DECAL", null); var colorMapMacro = new ShaderMacro("USE_COLORMAP_DECAL", null); var transparentMacro = new ShaderMacro("RENDER_TO_TRANSPARENT", null); var extensionsMacro = new ShaderMacro("USE_EXTENSIONS_TEXTURE", null); m_psColorMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { colorMapMacro }); m_psColorMapTransparent = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { colorMapMacro, transparentMacro }); m_psNormalMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { normalMapMacro }); m_psNormalColorMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { colorMapMacro, normalMapMacro }); m_psNormalColorExtMap = MyShaders.CreatePs("decal.hlsl", new ShaderMacro[] { colorMapMacro, normalMapMacro, extensionsMacro }); InitIB(); }
// inscatter texture // transmittance texture //static RwTexId m_transmittanceLut; //static RwTexId m_inscatterLutR; //static RwTexId m_inscatterLutM; internal static unsafe void Init() { m_ps = MyShaders.CreatePs("Transparent/Atmosphere/AtmosphereGBuffer.hlsl"); m_psPerSample = MyShaders.CreatePs("Transparent/Atmosphere/AtmosphereGBuffer.hlsl", MyRender11.ShaderSampleFrequencyDefine()); m_psEnv = MyShaders.CreatePs("Transparent/Atmosphere/AtmosphereEnv.hlsl"); m_psEnvPerSample = MyShaders.CreatePs("Transparent/Atmosphere/AtmosphereEnv.hlsl", MyRender11.ShaderSampleFrequencyDefine()); m_precomputeDensity = MyShaders.CreateCs("Transparent/Atmosphere/AtmospherePrecompute.hlsl"); m_proxyVs = MyShaders.CreateVs("Transparent/Atmosphere/AtmosphereVS.hlsl"); m_proxyIL = MyShaders.CreateIL(m_proxyVs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION_PACKED)); m_cb = MyManagers.Buffers.CreateConstantBuffer("CommonObjectCB" + sizeof(AtmosphereConstants), sizeof(AtmosphereConstants), usage: SharpDX.Direct3D11.ResourceUsage.Dynamic); }
internal unsafe static void Init() { m_vs = MyShaders.CreateVs("sprite.hlsl"); m_ps = MyShaders.CreatePs("sprite.hlsl"); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout( new MyVertexInputComponent(MyVertexInputComponentType.CUSTOM_HALF4_0, MyVertexInputComponentFreq.PER_INSTANCE), new MyVertexInputComponent(MyVertexInputComponentType.CUSTOM_HALF4_1, MyVertexInputComponentFreq.PER_INSTANCE), new MyVertexInputComponent(MyVertexInputComponentType.CUSTOM_HALF4_2, MyVertexInputComponentFreq.PER_INSTANCE), new MyVertexInputComponent(MyVertexInputComponentType.COLOR4, MyVertexInputComponentFreq.PER_INSTANCE) )); m_currentBufferSize = 100000; m_VB = MyHwBuffers.CreateVertexBuffer(m_currentBufferSize, sizeof(MyVertexFormatSpritePositionTextureRotationColor), BindFlags.VertexBuffer, ResourceUsage.Dynamic); m_contextsStack.Add(new MySpritesContext()); }
internal static unsafe void Init() { //MyRender11.RegisterSettingsChangedListener(new OnSettingsChangedDelegate(RecreateShadersForSettings)); DirectionalEnvironmentLight_Pixel = MyShaders.CreatePs("Lighting/LightDir.hlsl"); DirectionalEnvironmentLight_Sample = MyShaders.CreatePs("Lighting/LightDir.hlsl", MyRender11.ShaderSampleFrequencyDefine()); PointlightsTiled_Pixel = MyShaders.CreatePs("Lighting/LightPoint.hlsl"); PointlightsTiled_Sample = MyShaders.CreatePs("Lighting/LightPoint.hlsl", MyRender11.ShaderSampleFrequencyDefine()); m_preparePointLights = MyShaders.CreateCs("Lighting/PrepareLights.hlsl", new[] { new ShaderMacro("NUMTHREADS", TILE_SIZE) }); SpotlightProxyVs = MyShaders.CreateVs("Lighting/LightSpot.hlsl"); SpotlightPs_Pixel = MyShaders.CreatePs("Lighting/LightSpot.hlsl"); SpotlightPs_Sample = MyShaders.CreatePs("Lighting/LightSpot.hlsl", MyRender11.ShaderSampleFrequencyDefine()); SpotlightProxyIL = MyShaders.CreateIL(SpotlightProxyVs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION_PACKED)); m_pointlightCullHwBuffer = MyHwBuffers.CreateStructuredBuffer(MyRender11Constants.MAX_POINT_LIGHTS, sizeof(MyPointlightConstants), true, null, "MyLightRendering"); }
internal static void Init() { MyGPUEmitters.Init(); m_resetSystem = true; m_csInitDeadList = MyShaders.CreateCs("Particles/InitDeadList.hlsl", null); m_csResetParticles = MyShaders.CreateCs("Particles/Reset.hlsl", null); m_csEmit = MyShaders.CreateCs("Particles/Emit.hlsl", null); m_csSimulate = MyShaders.CreateCs("Particles/Simulation.hlsl", null); var macrosRender = new[] { new ShaderMacro("STREAKS", null), new ShaderMacro("LIT_PARTICLE", null) }; var macrosRenderOIT = new[] { new ShaderMacro("STREAKS", null), new ShaderMacro("LIT_PARTICLE", null), new ShaderMacro("OIT", null) }; m_vs = MyShaders.CreateVs("Particles/Render.hlsl", macrosRender); m_ps = MyShaders.CreatePs("Particles/Render.hlsl", macrosRender); m_psOIT = MyShaders.CreatePs("Particles/Render.hlsl", macrosRenderOIT); InitDevice(); }
internal unsafe static void Init() { m_vs = MyShaders.CreateVs("billboard.hlsl", "vs"); m_ps = MyShaders.CreatePs("billboard.hlsl", "ps"); m_vsLit = MyShaders.CreateVs("billboard.hlsl", "vs", MyShaderHelpers.FormatMacros("LIT_PARTICLE")); m_psLit = MyShaders.CreatePs("billboard.hlsl", "ps", MyShaderHelpers.FormatMacros("LIT_PARTICLE")); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.TEXCOORD0_H)); //MyCallbacks.RegisterDeviceResetListener(new OnDeviceResetDelegate(OnDeviceRestart)); InitBillboardsIndexBuffer(MaxBillboards); m_VB = MyHwBuffers.CreateVertexBuffer(MaxBillboards * 4, sizeof(MyVertexFormatPositionTextureH), BindFlags.VertexBuffer, ResourceUsage.Dynamic); var stride = sizeof(MyBillboardData); m_SB = MyHwBuffers.CreateStructuredBuffer(MaxBillboards, stride, true); MyTextureAtlas.ParseAtlasDescription("Textures\\Particles\\", "Textures\\Particles\\ParticlesAtlas.tai", m_atlasedTextures); }
internal static unsafe void Init() { m_cbCustomProjections = MyManagers.Buffers.CreateConstantBuffer("BilloardCustomProjections", sizeof(Matrix) * MAX_CUSTOM_PROJECTIONS_SIZE, usage: ResourceUsage.Dynamic); GeneratePS(); m_vs = MyShaders.CreateVs("Transparent/Billboards.hlsl"); m_vsLit = MyShaders.CreateVs("Transparent/Billboards.hlsl", new[] { new ShaderMacro("LIT_PARTICLE", null) }); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.TEXCOORD0_H)); InitBillboardsIndexBuffer(); m_VB = MyManagers.Buffers.CreateVertexBuffer("MyBillboardRenderer", MAX_BILLBOARDS_SIZE * 4, sizeof(MyVertexFormatPositionTextureH), usage: ResourceUsage.Dynamic); var stride = sizeof(MyBillboardData); m_SB = MyManagers.Buffers.CreateSrv( "MyBillboardRenderer", MAX_BILLBOARDS_SIZE, stride, usage: ResourceUsage.Dynamic); m_atlas = new MyTextureAtlas("Textures\\Particles\\", "Textures\\Particles\\ParticlesAtlas.tai"); }
internal static unsafe void Init() { //MyRender11.RegisterSettingsChangedListener(new OnSettingsChangedDelegate(RecreateShadersForSettings)); DirectionalEnvironmentLight_Pixel = MyShaders.CreatePs("light.hlsl", "directional_environment"); DirectionalEnvironmentLight_Sample = MyShaders.CreatePs("light.hlsl", "directional_environment", MyShaderHelpers.FormatMacros(MyRender11.ShaderSampleFrequencyDefine())); PointlightsTiled_Pixel = MyShaders.CreatePs("light.hlsl", "pointlights_tiled"); PointlightsTiled_Sample = MyShaders.CreatePs("light.hlsl", "pointlights_tiled", MyShaderHelpers.FormatMacros(MyRender11.ShaderSampleFrequencyDefine())); m_preparePointLights = MyShaders.CreateCs("prepare_lights.hlsl", "prepare_lights", MyShaderHelpers.FormatMacros("NUMTHREADS " + TILE_SIZE)); SpotlightProxyVs = MyShaders.CreateVs("light.hlsl", "spotlightVs"); SpotlightPs = MyShaders.CreatePs("light.hlsl", "spotlightFromProxy"); SpotlightProxyIL = MyShaders.CreateIL(SpotlightProxyVs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION_PACKED)); var stride = sizeof(MyPointlightConstants); m_pointlightCullHwBuffer = MyHwBuffers.CreateStructuredBuffer(MyRender11Constants.MAX_POINT_LIGHTS, stride, true); m_pointlightsConstants = MyHwBuffers.CreateConstantsBuffer(sizeof(MyPointlightInfo) * MyRender11Constants.MAX_POINT_LIGHTS); m_spotlightsConstants = MyHwBuffers.CreateConstantsBuffer(sizeof(MySpotlightConstants) * MyRender11Constants.MAX_SPOTLIGHTS); m_sunlightConstants = MyHwBuffers.CreateConstantsBuffer(sizeof(MySunlightConstantsLayout)); }
internal static void Init() { //MyRender11.RegisterSettingsChangedListener(new OnSettingsChangedDelegate(RecreateShadersForSettings)); m_baseColorShader = MyShaders.CreatePs("debug.hlsl", "base_color"); m_baseColorLinearShader = MyShaders.CreatePs("debug.hlsl", "base_color_linear"); m_normalShader = MyShaders.CreatePs("debug.hlsl", "normal"); m_glossinessShader = MyShaders.CreatePs("debug.hlsl", "glossiness"); m_metalnessShader = MyShaders.CreatePs("debug.hlsl", "metalness"); m_matIDShader = MyShaders.CreatePs("debug.hlsl", "mat_id"); m_aoShader = MyShaders.CreatePs("debug.hlsl", "ambient_occlusion"); m_emissiveShader = MyShaders.CreatePs("debug.hlsl", "emissive"); m_ambientDiffuseShader = MyShaders.CreatePs("debug.hlsl", "debug_ambient_diffuse"); m_ambientSpecularShader = MyShaders.CreatePs("debug.hlsl", "debug_ambient_specular"); m_edgeDebugShader = MyShaders.CreatePs("debug.hlsl", "debug_edge"); m_shadowsDebugShader = MyShaders.CreatePs("debug.hlsl", "cascades_shadow"); m_screenVertexShader = MyShaders.CreateVs("debug.hlsl", "screenVertex"); m_blitTextureShader = MyShaders.CreatePs("debug.hlsl", "blitTexture"); m_inputLayout = MyShaders.CreateIL(m_screenVertexShader.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION2, MyVertexInputComponentType.TEXCOORD0)); m_quadBuffer = MyHwBuffers.CreateVertexBuffer(6, MyVertexFormatPosition2Texcoord.STRIDE, BindFlags.VertexBuffer, ResourceUsage.Dynamic); }
internal static void Init() { m_proxyVs = MyShaders.CreateVs("clouds.hlsl"); m_cloudPs = MyShaders.CreatePs("clouds.hlsl"); m_proxyIL = MyShaders.CreateIL(m_proxyVs.BytecodeId, MyVertexLayouts.GetLayout( new MyVertexInputComponent(MyVertexInputComponentType.POSITION_PACKED, 0), new MyVertexInputComponent(MyVertexInputComponentType.NORMAL, 1), new MyVertexInputComponent(MyVertexInputComponentType.TANGENT_SIGN_OF_BITANGENT, 1), new MyVertexInputComponent(MyVertexInputComponentType.TEXCOORD0_H, 1))); m_fogShader = MyShaders.CreateCs("clouds.hlsl", new [] { new ShaderMacro("NUMTHREADS", m_numFogThreads) }); SamplerStateDescription description = new SamplerStateDescription { AddressU = TextureAddressMode.Wrap, AddressV = TextureAddressMode.Wrap, AddressW = TextureAddressMode.Wrap, Filter = Filter.MinMagMipLinear, MaximumLod = System.Single.MaxValue }; m_textureSampler = MyPipelineStates.CreateSamplerState(description); }
internal unsafe static void Init() { m_vs = MyShaders.CreateVs("billboard.hlsl"); m_ps = MyShaders.CreatePs("billboard.hlsl"); m_vsLit = MyShaders.CreateVs("billboard.hlsl", new [] { new ShaderMacro("LIT_PARTICLE", null) }); m_psLit = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("LIT_PARTICLE", null) }); m_psAlphaCutout = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null) }); m_psAlphaCutoutAndLit = MyShaders.CreatePs("billboard.hlsl", new[] { new ShaderMacro("ALPHA_CUTOUT", null), new ShaderMacro("LIT_PARTICLE", null) }); m_inputLayout = MyShaders.CreateIL(m_vs.BytecodeId, MyVertexLayouts.GetLayout(MyVertexInputComponentType.POSITION3, MyVertexInputComponentType.TEXCOORD0_H)); //MyCallbacks.RegisterDeviceResetListener(new OnDeviceResetDelegate(OnDeviceRestart)); InitBillboardsIndexBuffer(MaxBillboards); m_VB = MyHwBuffers.CreateVertexBuffer(MaxBillboards * 4, sizeof(MyVertexFormatPositionTextureH), BindFlags.VertexBuffer, ResourceUsage.Dynamic, null, "MyBillboardRenderer"); var stride = sizeof(MyBillboardData); m_SB = MyHwBuffers.CreateStructuredBuffer(MaxBillboards, stride, true, null, "MyBillboardRenderer"); m_atlas = new MyTextureAtlas("Textures\\Particles\\", "Textures\\Particles\\ParticlesAtlas.tai"); }