C# 클래스 SFML.Graphics.RenderTexture

Target for off-screen 2D rendering into an texture
상속: SFML.System.ObjectBase, RenderTarget
파일 보기 프로젝트 열기: SFML/SFML.Net 1 사용 예제들

공개 메소드들

메소드 설명
Clear ( ) : void

Clear the entire render texture with black color

Clear ( System.Color color ) : void

Clear the entire render texture with a single color

Display ( ) : void

Update the contents of the target texture

Draw ( Drawable drawable ) : void

Draw a drawable object to the render-target, with default render states

Draw ( Drawable drawable, RenderStates states ) : void

Draw a drawable object to the render-target

Draw ( Vertex vertices, PrimitiveType type ) : void

Draw primitives defined by an array of vertices, with default render states

Draw ( Vertex vertices, PrimitiveType type, RenderStates states ) : void

Draw primitives defined by an array of vertices

Draw ( Vertex vertices, uint start, uint count, PrimitiveType type ) : void

Draw primitives defined by a sub-array of vertices, with default render states

Draw ( Vertex vertices, uint start, uint count, PrimitiveType type, RenderStates states ) : void

Draw primitives defined by a sub-array of vertices

GenerateMipmap ( ) : bool

Generate a mipmap using the current texture data

This function is similar to Texture.GenerateMipmap and operates on the texture used as the target for drawing. Be aware that any draw operation may modify the base level image data. For this reason, calling this function only makes sense after all drawing is completed and display has been called. Not calling display after subsequent drawing will lead to undefined behavior if a mipmap had been previously generated.

GetView ( ) : View

Return the current active view

GetViewport ( View view ) : IntRect

Get the viewport of a view applied to this target

MapCoordsToPixel ( Vector2f point ) : Vector2i

Convert a point from world coordinates to target coordinates, using the current view This function is an overload of the mapCoordsToPixel function that implicitly uses the current view. It is equivalent to: target.MapCoordsToPixel(point, target.GetView());

MapCoordsToPixel ( Vector2f point, View view ) : Vector2i

Convert a point from world coordinates to target coordinates This function finds the pixel of the render-target that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point. Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-target, this assertion is not true anymore, ie. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render-target -- if the view is translated by (140, 25). This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-target.

MapPixelToCoords ( Vector2i point ) : Vector2f

Convert a point from target coordinates to world coordinates, using the current view This function is an overload of the MapPixelToCoords function that implicitly uses the current view. It is equivalent to: target.MapPixelToCoords(point, target.GetView());

MapPixelToCoords ( Vector2i point, View view ) : Vector2f

Convert a point from target coordinates to world coordinates This function finds the 2D position that matches the given pixel of the render-target. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel. Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-target, this assertion is not true anymore, ie. a point located at (10, 50) in your render-target may map to the point (150, 75) in your 2D world -- if the view is translated by (140, 25). For render-windows, this function is typically used to find which point (or object) is located below the mouse cursor. This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-target.

PopGLStates ( ) : void

Restore the previously saved OpenGL render states and matrices. See the description of PushGLStates to get a detailed description of these functions.

PushGLStates ( ) : void

Save the current OpenGL render states and matrices. This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with PopGLStates, it ensures that: \li SFML's internal states are not messed up by your OpenGL code \li your OpenGL states are not modified by a call to a SFML function More specifically, it must be used around code that calls Draw functions. Example: // OpenGL code here... window.PushGLStates(); window.Draw(...); window.Draw(...); window.PopGLStates(); // OpenGL code here... Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the ResetGLStates function if you do so.

RenderTexture ( uint width, uint height ) : System

Create the render-texture with the given dimensions

RenderTexture ( uint width, uint height, bool depthBuffer ) : System

Create the render-texture with the given dimensions and an optional depth-buffer attached

ResetGLStates ( ) : void

Reset the internal OpenGL states so that the target is ready for drawing. This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use PushGLStates/PopGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent Draw() calls will work as expected. Example: // OpenGL code here... glPushAttrib(...); window.ResetGLStates(); window.Draw(...); window.Draw(...); glPopAttrib(...); // OpenGL code here...

SetActive ( bool active ) : bool

Activate of deactivate the render texture as the current target for rendering

SetView ( View view ) : void

Change the current active view

ToString ( ) : string

Provide a string describing the object

보호된 메소드들

메소드 설명
Destroy ( bool disposing ) : void

Handle the destruction of the object

비공개 메소드들

메소드 설명
sfRenderTexture_clear ( IntPtr CPointer, System.Color ClearColor ) : void
sfRenderTexture_create ( uint Width, uint Height, bool DepthBuffer ) : IntPtr
sfRenderTexture_destroy ( IntPtr CPointer ) : void
sfRenderTexture_display ( IntPtr CPointer ) : bool
sfRenderTexture_drawPrimitives ( IntPtr CPointer, Vertex vertexPtr, uint vertexCount, PrimitiveType type, RenderStates &renderStates ) : void
sfRenderTexture_generateMipmap ( IntPtr CPointer ) : bool
sfRenderTexture_getDefaultView ( IntPtr CPointer ) : IntPtr
sfRenderTexture_getSize ( IntPtr CPointer ) : Vector2u
sfRenderTexture_getTexture ( IntPtr CPointer ) : IntPtr
sfRenderTexture_getView ( IntPtr CPointer ) : IntPtr
sfRenderTexture_getViewport ( IntPtr CPointer, IntPtr TargetView ) : IntRect
sfRenderTexture_isRepeated ( IntPtr CPointer ) : bool
sfRenderTexture_isSmooth ( IntPtr CPointer ) : bool
sfRenderTexture_mapCoordsToPixel ( IntPtr CPointer, Vector2f point, IntPtr View ) : Vector2i
sfRenderTexture_mapPixelToCoords ( IntPtr CPointer, Vector2i point, IntPtr View ) : Vector2f
sfRenderTexture_popGLStates ( IntPtr CPointer ) : void
sfRenderTexture_pushGLStates ( IntPtr CPointer ) : void
sfRenderTexture_resetGLStates ( IntPtr CPointer ) : void
sfRenderTexture_restoreGLStates ( IntPtr CPointer ) : bool
sfRenderTexture_saveGLStates ( IntPtr CPointer ) : bool
sfRenderTexture_setActive ( IntPtr CPointer, bool Active ) : bool
sfRenderTexture_setRepeated ( IntPtr CPointer, bool repeated ) : void
sfRenderTexture_setSmooth ( IntPtr CPointer, bool smooth ) : void
sfRenderTexture_setView ( IntPtr CPointer, IntPtr View ) : void

메소드 상세

Clear() 공개 메소드

Clear the entire render texture with black color
public Clear ( ) : void
리턴 void

Clear() 공개 메소드

Clear the entire render texture with a single color
public Clear ( System.Color color ) : void
color System.Color Color to use to clear the texture
리턴 void

Destroy() 보호된 메소드

Handle the destruction of the object
protected Destroy ( bool disposing ) : void
disposing bool Is the GC disposing the object, or is it an explicit call ?
리턴 void

Display() 공개 메소드

Update the contents of the target texture
public Display ( ) : void
리턴 void

Draw() 공개 메소드

Draw a drawable object to the render-target, with default render states
public Draw ( Drawable drawable ) : void
drawable Drawable Object to draw
리턴 void

Draw() 공개 메소드

Draw a drawable object to the render-target
public Draw ( Drawable drawable, RenderStates states ) : void
drawable Drawable Object to draw
states RenderStates Render states to use for drawing
리턴 void

Draw() 공개 메소드

Draw primitives defined by an array of vertices, with default render states
public Draw ( Vertex vertices, PrimitiveType type ) : void
vertices Vertex Pointer to the vertices
type PrimitiveType Type of primitives to draw
리턴 void

Draw() 공개 메소드

Draw primitives defined by an array of vertices
public Draw ( Vertex vertices, PrimitiveType type, RenderStates states ) : void
vertices Vertex Pointer to the vertices
type PrimitiveType Type of primitives to draw
states RenderStates Render states to use for drawing
리턴 void

Draw() 공개 메소드

Draw primitives defined by a sub-array of vertices, with default render states
public Draw ( Vertex vertices, uint start, uint count, PrimitiveType type ) : void
vertices Vertex Array of vertices to draw
start uint Index of the first vertex to draw in the array
count uint Number of vertices to draw
type PrimitiveType Type of primitives to draw
리턴 void

Draw() 공개 메소드

Draw primitives defined by a sub-array of vertices
public Draw ( Vertex vertices, uint start, uint count, PrimitiveType type, RenderStates states ) : void
vertices Vertex Pointer to the vertices
start uint Index of the first vertex to use in the array
count uint Number of vertices to draw
type PrimitiveType Type of primitives to draw
states RenderStates Render states to use for drawing
리턴 void

GenerateMipmap() 공개 메소드

Generate a mipmap using the current texture data
This function is similar to Texture.GenerateMipmap and operates on the texture used as the target for drawing. Be aware that any draw operation may modify the base level image data. For this reason, calling this function only makes sense after all drawing is completed and display has been called. Not calling display after subsequent drawing will lead to undefined behavior if a mipmap had been previously generated.
public GenerateMipmap ( ) : bool
리턴 bool

GetView() 공개 메소드

Return the current active view
public GetView ( ) : View
리턴 View

GetViewport() 공개 메소드

Get the viewport of a view applied to this target
public GetViewport ( View view ) : IntRect
view View Target view
리턴 IntRect

MapCoordsToPixel() 공개 메소드

Convert a point from world coordinates to target coordinates, using the current view This function is an overload of the mapCoordsToPixel function that implicitly uses the current view. It is equivalent to: target.MapCoordsToPixel(point, target.GetView());
public MapCoordsToPixel ( Vector2f point ) : Vector2i
point Vector2f Point to convert
리턴 Vector2i

MapCoordsToPixel() 공개 메소드

Convert a point from world coordinates to target coordinates This function finds the pixel of the render-target that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point. Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-target, this assertion is not true anymore, ie. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render-target -- if the view is translated by (140, 25). This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-target.
public MapCoordsToPixel ( Vector2f point, View view ) : Vector2i
point Vector2f Point to convert
view View The view to use for converting the point
리턴 Vector2i

MapPixelToCoords() 공개 메소드

Convert a point from target coordinates to world coordinates, using the current view This function is an overload of the MapPixelToCoords function that implicitly uses the current view. It is equivalent to: target.MapPixelToCoords(point, target.GetView());
public MapPixelToCoords ( Vector2i point ) : Vector2f
point Vector2i Pixel to convert
리턴 Vector2f

MapPixelToCoords() 공개 메소드

Convert a point from target coordinates to world coordinates This function finds the 2D position that matches the given pixel of the render-target. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel. Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-target, this assertion is not true anymore, ie. a point located at (10, 50) in your render-target may map to the point (150, 75) in your 2D world -- if the view is translated by (140, 25). For render-windows, this function is typically used to find which point (or object) is located below the mouse cursor. This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-target.
public MapPixelToCoords ( Vector2i point, View view ) : Vector2f
point Vector2i Pixel to convert
view View The view to use for converting the point
리턴 Vector2f

PopGLStates() 공개 메소드

Restore the previously saved OpenGL render states and matrices. See the description of PushGLStates to get a detailed description of these functions.
public PopGLStates ( ) : void
리턴 void

PushGLStates() 공개 메소드

Save the current OpenGL render states and matrices. This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with PopGLStates, it ensures that: \li SFML's internal states are not messed up by your OpenGL code \li your OpenGL states are not modified by a call to a SFML function More specifically, it must be used around code that calls Draw functions. Example: // OpenGL code here... window.PushGLStates(); window.Draw(...); window.Draw(...); window.PopGLStates(); // OpenGL code here... Note that this function is quite expensive: it saves all the possible OpenGL states and matrices, even the ones you don't care about. Therefore it should be used wisely. It is provided for convenience, but the best results will be achieved if you handle OpenGL states yourself (because you know which states have really changed, and need to be saved and restored). Take a look at the ResetGLStates function if you do so.
public PushGLStates ( ) : void
리턴 void

RenderTexture() 공개 메소드

Create the render-texture with the given dimensions
public RenderTexture ( uint width, uint height ) : System
width uint Width of the render-texture
height uint Height of the render-texture
리턴 System

RenderTexture() 공개 메소드

Create the render-texture with the given dimensions and an optional depth-buffer attached
public RenderTexture ( uint width, uint height, bool depthBuffer ) : System
width uint Width of the render-texture
height uint Height of the render-texture
depthBuffer bool Do you want a depth-buffer attached?
리턴 System

ResetGLStates() 공개 메소드

Reset the internal OpenGL states so that the target is ready for drawing. This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use PushGLStates/PopGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent Draw() calls will work as expected. Example: // OpenGL code here... glPushAttrib(...); window.ResetGLStates(); window.Draw(...); window.Draw(...); glPopAttrib(...); // OpenGL code here...
public ResetGLStates ( ) : void
리턴 void

SetActive() 공개 메소드

Activate of deactivate the render texture as the current target for rendering
public SetActive ( bool active ) : bool
active bool True to activate, false to deactivate (true by default)
리턴 bool

SetView() 공개 메소드

Change the current active view
public SetView ( View view ) : void
view View New view
리턴 void

ToString() 공개 메소드

Provide a string describing the object
public ToString ( ) : string
리턴 string