コード例 #1
0
ファイル: Container.cs プロジェクト: Sinnaj94/csharp-games
 void SFML.Graphics.Drawable.Draw(SFML.Graphics.RenderTarget target, SFML.Graphics.RenderStates states)
 {
     rnd = new SFML.Graphics.CircleShape(10);
     ((SFML.Graphics.CircleShape)rnd).Position  = new SFML.System.Vector2f(myBody.Position.X, myBody.Position.Y);
     ((SFML.Graphics.CircleShape)rnd).FillColor = new SFML.Graphics.Color(255, 255, 255, 255);
     ((SFML.Graphics.CircleShape)rnd).Draw(target, states);
     Console.Out.Write("Y: " + myBody.Position.Y);
 }
コード例 #2
0
 public RenderStates(GLSLShader shader)
 {
     if (shader == null)
     {
         SFMLRenderStates = Default.SFMLRenderStates;
     }
     else
     {
         SFMLRenderStates = new SRenderStates(shader.SFMLShader);
     }
 }
コード例 #3
0
        private void DrawPreviewLighting(SFML.Graphics.RenderWindow rw)
        {
            //pack data in matrix as SFML doesn't support array uniforms
            SFML.Window.Vector2f[] positions = new SFML.Window.Vector2f[m_maxLights];
            for (var i = 0; i < m_lights.Count; ++i)
            {
                positions[i] = m_lights[i].Position;
            }

            SFML.Graphics.Transform t = new SFML.Graphics.Transform(
                positions[0].X, positions[0].Y,
                positions[1].X, positions[1].Y,
                positions[2].X, positions[2].Y,
                positions[3].X, positions[3].Y, 0f);

            m_lightShaderTextured.SetParameter("u_lightColour", m_sunColour);
            m_lightShaderTextured.SetParameter("u_ambientColour", m_ambientColour);
            m_lightShaderTextured.SetParameter("u_lightPositions", t);

            m_lightShaderColoured.SetParameter("u_lightColour", m_sunColour);
            m_lightShaderColoured.SetParameter("u_ambientColour", m_ambientColour);
            m_lightShaderColoured.SetParameter("u_lightPositions", t);

            for (var i = 0; i < m_lights.Count; ++i)
            {
                string param = "u_pointColour" + i.ToString();
                m_lightShaderTextured.SetParameter(param, m_lights[i].Colour);
                m_lightShaderColoured.SetParameter(param, m_lights[i].Colour);
            }

            SFML.Graphics.RenderStates states = SFML.Graphics.RenderStates.Default;

            foreach (var layer in m_previewLayers)
            {
                //if (layer != m_previewLayers[(int)Layer.Dynamic])
                //{
                //    states.Shader = m_lightShaderTextured;
                //}

                foreach (var d in layer)
                {
                    if (d.Texture == null)
                    {
                        m_lightShaderColoured.SetParameter("u_inverseWorldViewMatrix", d.InverseTransform);
                        states.Shader = m_lightShaderColoured;
                    }
                    else
                    {
                        m_lightShaderTextured.SetParameter("u_texture", SFML.Graphics.Shader.CurrentTexture);
                        m_lightShaderTextured.SetParameter("u_inverseWorldViewMatrix", d.InverseTransform);
                        states.Shader = m_lightShaderTextured;
                    }
                    rw.Draw(d, states);
                }

                if (layer == m_previewLayers[(int)Layer.Background] &&
                    checkBoxSnap.Checked)
                {
                    rw.Draw(m_grid);
                }
            }
        }
コード例 #4
0
ファイル: Graphic.cs プロジェクト: DemoXinMC/SFXT
 public abstract void Draw(SFML.Graphics.RenderTarget target, SFML.Graphics.RenderStates renderStates);
コード例 #5
0
 internal RenderStates(SRenderStates states)
 {
     SFMLRenderStates = states;
 }