FS#25 - Change sf::PostFx to a more general purpose pixel shader class (sf::Shader)

Updated the PostFx sample, renamed to Shader
Renamed all the static X::CanUseX() functions to X::IsAvailable() to make the API more consistent
Moved .def files from /build/VC200X to /src in CSFML
Minors fixes in CSFML

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1258 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
LaurentGom 2009-11-03 09:04:40 +00:00
parent 63e07cec84
commit d7bd00afc0
125 changed files with 1606 additions and 2348 deletions

View file

@ -85,6 +85,34 @@ void RenderTarget::Draw(const Drawable& object)
// Setup the projection matrix
myRenderQueue.SetProjection(myCurrentView->GetMatrix());
// Setup the shader
myRenderQueue.SetShader(NULL);
// Let the object draw itself
object.Draw(*this, myRenderQueue);
// Restore the previous render states
myRenderQueue.PopStates();
}
////////////////////////////////////////////////////////////
/// Draw something into the target with a shader
////////////////////////////////////////////////////////////
void RenderTarget::Draw(const Drawable& object, const Shader& shader)
{
// Save the current render states
myRenderQueue.PushStates();
// Setup the viewport
myRenderQueue.SetViewport(GetViewport(*myCurrentView));
// Setup the projection matrix
myRenderQueue.SetProjection(myCurrentView->GetMatrix());
// Setup the shader
myRenderQueue.SetShader(&shader);
// Let the object draw itself
object.Draw(*this, myRenderQueue);