public Background(Vector3DF color, Vector3DF light) { byte[] shader_code = Engine.Graphics.GraphicsDeviceType == GraphicsDeviceType.OpenGL ? Engine.File.CreateStaticFile("Shaders/BackEffect.glsl").Buffer : Engine.Graphics.GraphicsDeviceType == GraphicsDeviceType.DirectX11 ? Engine.File.CreateStaticFile("Shaders/BackEffect.hlsl").Buffer : new byte[0]; // マテリアルを作成する material = Engine.Graphics.CreateMaterial2D( Engine.Graphics.CreateShader2D( new UTF8Encoding().GetString(shader_code) ) ); // ストップウォッチを作成する stopwatch = new Stopwatch(); // マテリアル内の変数を設定する material.SetVector2DF("resolution", Engine.WindowSize.To2DF()); material.SetVector3DF("color", color); material.SetVector3DF("light", light); // ストップウォッチを起動させる stopwatch.Start(); }
public BackGround(string path) { // マテリアルの生成 Material = Graphics.CreateMaterial(path); // ストップウォッチの生成・開始 Stopwatch = new Stopwatch(); Stopwatch.Start(); }
public PostEffect(asd.Graphics g) { if (g.GraphicsDeviceType == GraphicsDeviceType.DirectX11) { m_shader = g.CreateShader2D( shader2d_dx_ps ); } else if (g.GraphicsDeviceType == GraphicsDeviceType.OpenGL) { m_shader = g.CreateShader2D( shader2d_gl_ps ); } else { throw new Exception(); } m_material2d = g.CreateMaterial2D(m_shader); }
public PostEffect(ace.Graphics g) { List <ace.ShaderVariableProperty> props = new List <ShaderVariableProperty>(); var prop_tex = new ace.ShaderVariableProperty(); prop_tex.Name = "g_texture"; prop_tex.Offset = 0; prop_tex.Type = ace.ShaderVariableType.Texture2D; props.Add(prop_tex); var prop_v = new ace.ShaderVariableProperty(); prop_v.Name = "g_values"; prop_v.Offset = 0; prop_v.Type = ace.ShaderVariableType.Vector3DF; props.Add(prop_v); if (g.GraphicsType == GraphicsType.DirectX11) { m_shader = g.CreateShader2D( shader2d_dx_ps, props.ToArray() ); } else if (g.GraphicsType == GraphicsType.OpenGL) { m_shader = g.CreateShader2D( shader2d_gl_ps, props.ToArray() ); } else { throw new Exception(); } m_material2d = g.CreateMaterial2D(m_shader); }