public RenderSprites(IKeyValueCollection keyValues, VrfGuiContext vrfGuiContext) { shader = vrfGuiContext.ShaderLoader.LoadShader("vrf.particle.sprite", new Dictionary <string, bool>()); quadIndices = vrfGuiContext.QuadIndices; // The same quad is reused for all particles quadVao = SetupQuadBuffer(); if (keyValues.ContainsKey("m_hTexture")) { var textureSetup = LoadTexture(keyValues.GetProperty <string>("m_hTexture"), vrfGuiContext); glTexture = textureSetup.TextureIndex; spriteSheetData = textureSetup.TextureData?.GetSpriteSheetData(); } else { glTexture = vrfGuiContext.MaterialLoader.GetErrorTexture(); } additive = keyValues.GetProperty <bool>("m_bAdditive"); if (keyValues.ContainsKey("m_flOverbrightFactor")) { overbrightFactor = keyValues.GetFloatProperty("m_flOverbrightFactor"); } if (keyValues.ContainsKey("m_nOrientationType")) { orientationType = keyValues.GetIntegerProperty("m_nOrientationType"); } if (keyValues.ContainsKey("m_flAnimationRate")) { animationRate = keyValues.GetFloatProperty("m_flAnimationRate"); } }
public RenderSprites(IKeyValueCollection keyValues, VrfGuiContext vrfGuiContext) { shaderProgram = SetupShaderProgram(); // The same quad is reused for all particles quadVao = SetupQuadBuffer(); var textureSetup = LoadTexture(keyValues.GetProperty <string>("m_hTexture"), vrfGuiContext); glTexture = textureSetup.TextureIndex; spriteSheetData = textureSetup.TextureData.GetSpriteSheetData(); additive = keyValues.GetProperty <bool>("m_bAdditive"); if (keyValues.ContainsKey("m_flOverbrightFactor")) { overbrightFactor = keyValues.GetFloatProperty("m_flOverbrightFactor"); } if (keyValues.ContainsKey("m_nOrientationType")) { orientationType = keyValues.GetIntegerProperty("m_nOrientationType"); } if (keyValues.ContainsKey("m_flAnimationRate")) { animationRate = keyValues.GetFloatProperty("m_flAnimationRate"); } }