Removed warnings when compiling CSFML in release mode
Changed samples images Added an effect to the post-fx sample git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1008 4e206d99-4929-0410-ac5d-dfc041789085
@ -95,10 +95,10 @@
|
||||
|
||||
#define CSFML_CALL_PTR(Object, Function) (Object->This->Function);
|
||||
|
||||
#define CSFML_CHECK_RETURN(Object, Default)
|
||||
#define CSFML_CHECK_RETURN(Object, Default) (void)Default;
|
||||
|
||||
#define CSFML_CALL_RETURN(Object, Function, Default) return (Object->This.Function);
|
||||
#define CSFML_CALL_RETURN(Object, Function, Default) (void)Default; return (Object->This.Function);
|
||||
|
||||
#define CSFML_CALL_PTR_RETURN(Object, Function, Default) return (Object->This->Function);
|
||||
#define CSFML_CALL_PTR_RETURN(Object, Function, Default) (void)Default; return (Object->This->Function);
|
||||
|
||||
#endif
|
||||
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 52 KiB |
11
dotnet/samples/bin/datas/post-fx/pixelate.sfx
Normal file
@ -0,0 +1,11 @@
|
||||
texture framebuffer
|
||||
vec2 mouse
|
||||
|
||||
effect
|
||||
{
|
||||
float factor = 5 + 100 * length(mouse);
|
||||
|
||||
vec2 pos = floor(_in * factor) / factor;
|
||||
|
||||
_out = framebuffer(pos);
|
||||
}
|
BIN
dotnet/samples/bin/datas/post-fx/sprite.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
@ -28,8 +28,8 @@ namespace sample_opengl
|
||||
|
||||
// Create a text to display
|
||||
String2D Text = new String2D("This is a rotating cube");
|
||||
Text.Position = new Vector2(250.0F, 300.0F);
|
||||
Text.Color = new Color(128, 0, 128);
|
||||
Text.Position = new Vector2(250.0F, 450.0F);
|
||||
Text.Color = new Color(255, 255, 255, 170);
|
||||
|
||||
// Load an OpenGL texture.
|
||||
// We could directly use a sf::Image as an OpenGL texture (with its Bind() member function),
|
||||
@ -76,47 +76,52 @@ namespace sample_opengl
|
||||
// Clear depth buffer
|
||||
Gl.glClear(Gl.GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
// We get the position of the mouse cursor, so that we can move the box accordingly
|
||||
float CursorX = App.Input.GetMouseX() * 200.0F / App.Width - 100.0F;
|
||||
float CursorY = -App.Input.GetMouseY() * 200.0F / App.Height + 100.0F;
|
||||
|
||||
// Apply some transformations
|
||||
Time += App.GetFrameTime();
|
||||
Gl.glMatrixMode(Gl.GL_MODELVIEW);
|
||||
Gl.glLoadIdentity();
|
||||
Gl.glTranslatef(0.0F, 0.0F, -200.0F);
|
||||
Gl.glTranslatef(CursorX, CursorY, -100.0F);
|
||||
Gl.glRotatef(Time * 50, 1.0F, 0.0F, 0.0F);
|
||||
Gl.glRotatef(Time * 30, 0.0F, 1.0F, 0.0F);
|
||||
Gl.glRotatef(Time * 90, 0.0F, 0.0F, 1.0F);
|
||||
|
||||
// Draw a cube
|
||||
float Size = 20.0F;
|
||||
Gl.glBegin(Gl.GL_QUADS);
|
||||
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( 50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( 50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-Size, -Size, -Size);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( Size, -Size, -Size);
|
||||
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( 50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( 50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-Size, -Size, Size);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-Size, Size, Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( Size, Size, Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( Size, -Size, Size);
|
||||
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f(-50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f(-50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-Size, -Size, -Size);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f(-Size, Size, Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f(-Size, -Size, Size);
|
||||
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f(50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f(50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(Size, -Size, -Size);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f(Size, Size, Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f(Size, -Size, Size);
|
||||
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( 50.0F, -50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( 50.0F, -50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-Size, -Size, Size);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-Size, -Size, -Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( Size, -Size, -Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( Size, -Size, Size);
|
||||
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( 50.0F, 50.0F, -50.0F);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( 50.0F, 50.0F, 50.0F);
|
||||
Gl.glTexCoord2f(0, 1); Gl.glVertex3f(-Size, Size, Size);
|
||||
Gl.glTexCoord2f(0, 0); Gl.glVertex3f(-Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 0); Gl.glVertex3f( Size, Size, -Size);
|
||||
Gl.glTexCoord2f(1, 1); Gl.glVertex3f( Size, Size, Size);
|
||||
|
||||
Gl.glEnd();
|
||||
|
||||
|
@ -31,9 +31,12 @@ namespace sample_postfx
|
||||
return;
|
||||
}
|
||||
|
||||
// Load a cute background image to display :)
|
||||
// Load a background image to display
|
||||
Sprite Background = new Sprite(new Image("datas/post-fx/background.jpg"));
|
||||
|
||||
// Load a sprite which we'll move into the scene
|
||||
Sprite Entity = new Sprite(new Image("datas/post-fx/sprite.png"));
|
||||
|
||||
// Load the text font
|
||||
Font Cheeseburger = new Font("datas/post-fx/cheeseburger.ttf");
|
||||
|
||||
@ -47,6 +50,7 @@ namespace sample_postfx
|
||||
Effects["colorize"] = new PostFx("datas/post-fx/colorize.sfx");
|
||||
Effects["fisheye"] = new PostFx("datas/post-fx/fisheye.sfx");
|
||||
Effects["wave"] = new PostFx("datas/post-fx/wave.sfx");
|
||||
Effects["pixelate"] = new PostFx("datas/post-fx/pixelate.sfx");
|
||||
CurrentEffect = Effects.GetEnumerator();
|
||||
CurrentEffect.MoveNext();
|
||||
|
||||
@ -59,12 +63,14 @@ namespace sample_postfx
|
||||
Effects["fisheye"].SetTexture("framebuffer", null);
|
||||
Effects["wave"].SetTexture("framebuffer", null);
|
||||
Effects["wave"].SetTexture("wave", WaveImage);
|
||||
Effects["pixelate"].SetTexture("framebuffer", null);
|
||||
|
||||
// Define a string for displaying current effect description
|
||||
CurFXStr = new String2D();
|
||||
CurFXStr.Text = "Current effect is \"" + CurrentEffect.Current.Key + "\"";
|
||||
CurFXStr.Font = Cheeseburger;
|
||||
CurFXStr.Position = new Vector2(20.0F, 0.0F);
|
||||
CurFXStr.Color = new Color(150, 70, 110);
|
||||
|
||||
// Define a string for displaying help
|
||||
String2D InfoStr = new String2D();
|
||||
@ -74,6 +80,7 @@ namespace sample_postfx
|
||||
InfoStr.Color = new Color(200, 100, 150);
|
||||
|
||||
// Start the game loop
|
||||
float AppTime = 0.0F;
|
||||
while (App.IsOpened())
|
||||
{
|
||||
// Process events
|
||||
@ -88,12 +95,21 @@ namespace sample_postfx
|
||||
else if (CurrentEffect.Current.Key == "colorize") CurrentEffect.Current.Value.SetParameter("color", 0.3f, X, Y);
|
||||
else if (CurrentEffect.Current.Key == "fisheye") CurrentEffect.Current.Value.SetParameter("mouse", X, 1.0F - Y);
|
||||
else if (CurrentEffect.Current.Key == "wave") CurrentEffect.Current.Value.SetParameter("offset", X, Y);
|
||||
else if (CurrentEffect.Current.Key == "pixelate") CurrentEffect.Current.Value.SetParameter("mouse", X, Y);
|
||||
|
||||
// Animate the sprite
|
||||
AppTime += App.GetFrameTime();
|
||||
float EntityX = (float)(Math.Cos(AppTime * 1.3) + 1.2) * 300;
|
||||
float EntityY = (float)(Math.Cos(AppTime * 0.8) + 1.2) * 200;
|
||||
Entity.Position = new Vector2(EntityX, EntityY);
|
||||
Entity.Rotation = AppTime * 100;
|
||||
|
||||
// Clear the window
|
||||
App.Clear();
|
||||
|
||||
// Draw background and apply the post-fx
|
||||
// Draw background, the sprite and apply the post-fx
|
||||
App.Draw(Background);
|
||||
App.Draw(Entity);
|
||||
App.Draw(CurrentEffect.Current.Value);
|
||||
|
||||
// Draw interface strings
|
||||
|
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 52 KiB |
11
samples/bin/datas/post-fx/pixelate.sfx
Normal file
@ -0,0 +1,11 @@
|
||||
texture framebuffer
|
||||
vec2 mouse
|
||||
|
||||
effect
|
||||
{
|
||||
float factor = 5 + 100 * length(mouse);
|
||||
|
||||
vec2 pos = floor(_in * factor) / factor;
|
||||
|
||||
_out = framebuffer(pos);
|
||||
}
|
BIN
samples/bin/datas/post-fx/sprite.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
@ -26,7 +26,7 @@ int main()
|
||||
|
||||
// Load an OpenGL texture.
|
||||
// We could directly use a sf::Image as an OpenGL texture (with its Bind() member function),
|
||||
// but here we want more control on it (generate mipmaps, ...) so we create a new one
|
||||
// but here we want more control on it (generate mipmaps, ...) so we create a new one from the image pixels
|
||||
GLuint Texture = 0;
|
||||
{
|
||||
sf::Image Image;
|
||||
@ -83,53 +83,58 @@ int main()
|
||||
// Clear depth buffer
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
// We get the position of the mouse cursor, so that we can move the box accordingly
|
||||
float CursorX = App.GetInput().GetMouseX() * 200.f / App.GetWidth() - 100.f;
|
||||
float CursorY = -App.GetInput().GetMouseY() * 200.f / App.GetHeight() + 100.f;
|
||||
|
||||
// Apply some transformations
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
glTranslatef(0.f, 0.f, -200.f);
|
||||
glTranslatef(CursorX, CursorY, -100.f);
|
||||
glRotatef(Clock.GetElapsedTime() * 50, 1.f, 0.f, 0.f);
|
||||
glRotatef(Clock.GetElapsedTime() * 30, 0.f, 1.f, 0.f);
|
||||
glRotatef(Clock.GetElapsedTime() * 90, 0.f, 0.f, 1.f);
|
||||
|
||||
// Draw a cube
|
||||
float Size = 20.f;
|
||||
glBegin(GL_QUADS);
|
||||
|
||||
glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(-50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f( 50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, -50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(-Size, -Size, -Size);
|
||||
glTexCoord2f(0, 1); glVertex3f(-Size, Size, -Size);
|
||||
glTexCoord2f(1, 1); glVertex3f( Size, Size, -Size);
|
||||
glTexCoord2f(1, 0); glVertex3f( Size, -Size, -Size);
|
||||
|
||||
glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(-50.f, 50.f, 50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f( 50.f, 50.f, 50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(-Size, -Size, Size);
|
||||
glTexCoord2f(0, 1); glVertex3f(-Size, Size, Size);
|
||||
glTexCoord2f(1, 1); glVertex3f( Size, Size, Size);
|
||||
glTexCoord2f(1, 0); glVertex3f( Size, -Size, Size);
|
||||
|
||||
glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(-50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f(-50.f, 50.f, 50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f(-50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(-Size, -Size, -Size);
|
||||
glTexCoord2f(0, 1); glVertex3f(-Size, Size, -Size);
|
||||
glTexCoord2f(1, 1); glVertex3f(-Size, Size, Size);
|
||||
glTexCoord2f(1, 0); glVertex3f(-Size, -Size, Size);
|
||||
|
||||
glTexCoord2f(0, 0); glVertex3f(50.f, -50.f, -50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f(50.f, 50.f, 50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f(50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(Size, -Size, -Size);
|
||||
glTexCoord2f(0, 1); glVertex3f(Size, Size, -Size);
|
||||
glTexCoord2f(1, 1); glVertex3f(Size, Size, Size);
|
||||
glTexCoord2f(1, 0); glVertex3f(Size, -Size, Size);
|
||||
|
||||
glTexCoord2f(0, 1); glVertex3f(-50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(-50.f, -50.f, -50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f( 50.f, -50.f, -50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f( 50.f, -50.f, 50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(-Size, -Size, Size);
|
||||
glTexCoord2f(0, 0); glVertex3f(-Size, -Size, -Size);
|
||||
glTexCoord2f(1, 0); glVertex3f( Size, -Size, -Size);
|
||||
glTexCoord2f(1, 1); glVertex3f( Size, -Size, Size);
|
||||
|
||||
glTexCoord2f(0, 1); glVertex3f(-50.f, 50.f, 50.f);
|
||||
glTexCoord2f(0, 0); glVertex3f(-50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 0); glVertex3f( 50.f, 50.f, -50.f);
|
||||
glTexCoord2f(1, 1); glVertex3f( 50.f, 50.f, 50.f);
|
||||
glTexCoord2f(0, 1); glVertex3f(-Size, Size, Size);
|
||||
glTexCoord2f(0, 0); glVertex3f(-Size, Size, -Size);
|
||||
glTexCoord2f(1, 0); glVertex3f( Size, Size, -Size);
|
||||
glTexCoord2f(1, 1); glVertex3f( Size, Size, Size);
|
||||
|
||||
glEnd();
|
||||
|
||||
// Draw some text on top of our OpenGL object
|
||||
sf::String Text("This is a rotating cube");
|
||||
Text.SetPosition(250.f, 300.f);
|
||||
Text.SetColor(sf::Color(128, 0, 128));
|
||||
sf::String Text("SFML / OpenGL demo");
|
||||
Text.SetPosition(250.f, 450.f);
|
||||
Text.SetColor(sf::Color(255, 255, 255, 170));
|
||||
App.Draw(Text);
|
||||
|
||||
// Finally, display the rendered frame on screen
|
||||
|
@ -4,6 +4,7 @@
|
||||
////////////////////////////////////////////////////////////
|
||||
#include <SFML/Graphics.hpp>
|
||||
#include <map>
|
||||
#include <math.h>
|
||||
|
||||
void DisplayError();
|
||||
|
||||
@ -26,12 +27,18 @@ int main()
|
||||
// Create the main window
|
||||
sf::RenderWindow App(sf::VideoMode(800, 600), "SFML PostFX");
|
||||
|
||||
// Load a cute background image to display :)
|
||||
// Load a background image to display
|
||||
sf::Image BackgroundImage;
|
||||
if (!BackgroundImage.LoadFromFile("datas/post-fx/background.jpg"))
|
||||
return EXIT_FAILURE;
|
||||
sf::Sprite Background(BackgroundImage);
|
||||
|
||||
// Load a sprite which we'll move into the scene
|
||||
sf::Image EntityImage;
|
||||
if (!EntityImage.LoadFromFile("datas/post-fx/sprite.png"))
|
||||
return EXIT_FAILURE;
|
||||
sf::Sprite Entity(EntityImage);
|
||||
|
||||
// Load the text font
|
||||
sf::Font Cheeseburger;
|
||||
if (!Cheeseburger.LoadFromFile("datas/post-fx/cheeseburger.ttf"))
|
||||
@ -49,6 +56,7 @@ int main()
|
||||
if (!Effects["colorize"].LoadFromFile("datas/post-fx/colorize.sfx")) return EXIT_FAILURE;
|
||||
if (!Effects["fisheye"].LoadFromFile("datas/post-fx/fisheye.sfx")) return EXIT_FAILURE;
|
||||
if (!Effects["wave"].LoadFromFile("datas/post-fx/wave.sfx")) return EXIT_FAILURE;
|
||||
if (!Effects["pixelate"].LoadFromFile("datas/post-fx/pixelate.sfx")) return EXIT_FAILURE;
|
||||
std::map<std::string, sf::PostFX>::iterator CurrentEffect = Effects.find("nothing");
|
||||
|
||||
// Do specific initializations
|
||||
@ -60,12 +68,14 @@ int main()
|
||||
Effects["fisheye"].SetTexture("framebuffer", NULL);
|
||||
Effects["wave"].SetTexture("framebuffer", NULL);
|
||||
Effects["wave"].SetTexture("wave", &WaveImage);
|
||||
Effects["pixelate"].SetTexture("framebuffer", NULL);
|
||||
|
||||
// Define a string for displaying current effect description
|
||||
sf::String CurFXStr;
|
||||
CurFXStr.SetText("Current effect is \"" + CurrentEffect->first + "\"");
|
||||
CurFXStr.SetFont(Cheeseburger);
|
||||
CurFXStr.SetPosition(20.f, 0.f);
|
||||
CurFXStr.SetColor(sf::Color(150, 70, 110));
|
||||
|
||||
// Define a string for displaying help
|
||||
sf::String InfoStr;
|
||||
@ -74,6 +84,9 @@ int main()
|
||||
InfoStr.SetPosition(20.f, 460.f);
|
||||
InfoStr.SetColor(sf::Color(200, 100, 150));
|
||||
|
||||
// Create a clock to measure the total time elapsed
|
||||
sf::Clock Clock;
|
||||
|
||||
// Start the game loop
|
||||
while (App.IsOpened())
|
||||
{
|
||||
@ -116,16 +129,24 @@ int main()
|
||||
float Y = App.GetInput().GetMouseY() / static_cast<float>(App.GetHeight());
|
||||
|
||||
// Update the current effect
|
||||
if (CurrentEffect->first == "blur") CurrentEffect->second.SetParameter("offset", X * Y * 0.1f);
|
||||
if (CurrentEffect->first == "blur") CurrentEffect->second.SetParameter("offset", X * Y * 0.05f);
|
||||
else if (CurrentEffect->first == "colorize") CurrentEffect->second.SetParameter("color", 0.3f, X, Y);
|
||||
else if (CurrentEffect->first == "fisheye") CurrentEffect->second.SetParameter("mouse", X, 1.f - Y);
|
||||
else if (CurrentEffect->first == "wave") CurrentEffect->second.SetParameter("offset", X, Y);
|
||||
else if (CurrentEffect->first == "pixelate") CurrentEffect->second.SetParameter("mouse", X, Y);
|
||||
|
||||
// Animate the sprite
|
||||
float EntityX = (cos(Clock.GetElapsedTime() * 1.3f) + 1.2f) * 300;
|
||||
float EntityY = (cos(Clock.GetElapsedTime() * 0.8f) + 1.2f) * 200;
|
||||
Entity.SetPosition(EntityX, EntityY);
|
||||
Entity.Rotate(App.GetFrameTime() * 100);
|
||||
|
||||
// Clear the window
|
||||
App.Clear();
|
||||
|
||||
// Draw background and apply the post-fx
|
||||
// Draw background, sprite and apply the post-fx
|
||||
App.Draw(Background);
|
||||
App.Draw(Entity);
|
||||
App.Draw(CurrentEffect->second);
|
||||
|
||||
// Draw interface strings
|
||||
|