IGraphicsContext
اعلان
public interface Strawberry.Graphics.IGraphicsContext
نمایانگر یک کانتکست گرافیکی استفادهشده برای رندر.
پیادهسازی: Strawberry.IBase
ویژگیها
ActiveViewport abstract
نمای (Viewport) فعلی استفادهشده برای رندر.
Viewport ActiveViewport { get }
PixelTexture abstract
نمایانگر یک پیکسل تنها با رنگ سفید. میتوانید از آن برای رسم مستطیل، خط و غیره استفاده کنید.
Texture PixelTexture { get }
ActiveRenderTarget abstract
هدف رندر (RenderTarget) فعال فعلی را دریافت میکند.
RenderTarget ActiveRenderTarget { get }
متدها
Initialize abstract
کانتکست گرافیکی را برای رندر مقداردهی اولیه میکند.
void Initialize(object source, int width, int height)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
source |
System.Object |
منبع برای رندر روی آن (میتواند یک window handle یا یک شیء GameWindow برای OpenTK باشد) |
width |
System.Int32 |
عرض ناحیهی رندر |
height |
System.Int32 |
ارتفاع ناحیهی رندر |
BeginRender abstract
فرایند رندر را آغاز میکند.
void BeginRender()
Clear abstract
صفحه را به رنگ مشخصشده پاک میکند.
void Clear(float r, float g, float b, float a)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
r |
System.Single |
مقدار قرمز (بین 0.0 تا 1.0) |
g |
System.Single |
مقدار سبز (بین 0.0 تا 1.0) |
b |
System.Single |
مقدار آبی (بین 0.0 تا 1.0) |
a |
System.Single |
مقدار شفافیت (بین 0.0 تا 1.0، 1.0 = مات، 0.0 = کاملاً شفاف) |
Clear abstract
صفحه را به رنگ مشخصشده پاک میکند.
void Clear(Color color)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
color |
Strawberry.Graphics.Color |
رنگ |
EndRender abstract
فرایند رندر را نهایی میکند.
void EndRender()
AddBlendMode abstract
یک حالت blend جدید به کانتکست گرافیکی اضافه میکند.
void AddBlendMode(BlendMode mode, string name)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
mode |
Strawberry.Graphics.BlendMode |
حالت blend برای استفاده |
name |
System.String |
نام حالت blend اضافهشده |
ActivateBlendMode abstract
یک حالت blend را برای رندر فعال میکند.
void ActivateBlendMode(string name)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
name |
System.String |
نامی که حالت blend با آن اضافه شده. (ببینید AddBlendMode) |
SetViewport abstract
یک نما را برای رندر فعال میکند.
void SetViewport(Viewport viewport)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
viewport |
Strawberry.Graphics.Viewport |
نما |
ActivateRenderTarget abstract
هدف رندر را برای استفاده در رندر فعال میکند.
void ActivateRenderTarget(RenderTarget renderTarget)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
renderTarget |
Strawberry.Graphics.RenderTarget |
شیء هدف رندر. اگر null باشد به هدف رندر پیشفرض سوییچ میکند. |
IsApplicationIdle abstract
bool IsApplicationIdle()
CreateTexture abstract
یک تکسچر با آرایهای از رنگها میسازد.
Texture CreateTexture(int width, int height, Color[] data, TextureFormat format = 0)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
عرض تکسچر |
height |
System.Int32 |
ارتفاع تکسچر |
data |
Strawberry.Graphics.Color[] |
دادهی رنگ (این داده به قالب تکسچر بستگی دارد) |
format |
Strawberry.Graphics.TextureFormat = 0 |
قالبی که تکسچر استفاده میکند |
خروجی: شیء تکسچر
CreateTexture abstract
یک تکسچر با آرایهای از بایتها میسازد.
Texture CreateTexture(int width, int height, byte[] data, TextureFormat format = 0)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
عرض تکسچر |
height |
System.Int32 |
ارتفاع تکسچر |
data |
System.Byte[] |
دادهی رنگ (این داده به قالب تکسچر بستگی دارد) |
format |
Strawberry.Graphics.TextureFormat = 0 |
قالبی که تکسچر استفاده میکند |
CreateTexture abstract
Texture CreateTexture(int width, int height, byte[] data, TextureSettings settings)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
|
height |
System.Int32 |
|
data |
System.Byte[] |
|
settings |
Strawberry.Graphics.TextureSettings |
CreateTexture abstract
Texture CreateTexture(int width, int height, Color[] data, TextureSettings settings)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
|
height |
System.Int32 |
|
data |
Strawberry.Graphics.Color[] |
|
settings |
Strawberry.Graphics.TextureSettings |
CreateShader abstract
یک شِیدِر با vertex و pixel shader پاسدادهشده میسازد.
Shader CreateShader(string vsCode, string psCode, string vsEntryPoint, string psEntryPoint, VertexElementContainer elements)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
vsCode |
System.String |
کد vertex shader |
psCode |
System.String |
کد pixel shader |
vsEntryPoint |
System.String |
تابع main vertex shader |
psEntryPoint |
System.String |
تابع main pixel shader |
elements |
Strawberry.Graphics.VertexElementContainer |
عنصرهایی که به شِیدِر پاس داده میشوند مانند موقعیت، رنگ، نرمال و غیره |
CreateGeometry abstract
یک هندسه با نوع رأس مشخصشده میسازد.
Geometry<T> CreateGeometry<T>(T[] vertices, uint[] indices, GeometryType vbType, GeometryType ibType)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
vertices |
T[] |
آرایهای از رأسها |
indices |
System.UInt32[] |
آرایهای از اندیسها برای اتصال رأسها و ساخت هندسهها |
vbType |
Strawberry.Graphics.GeometryType |
نوع بافر رأس (Dynamic یا Static) |
ibType |
Strawberry.Graphics.GeometryType |
نوع بافر اندیس (Dynamic یا Static) |
پارامترهای نوع:
T— نوع رأس استفادهشده، دادهها در رأس باید باVertexElementContainerاستفادهشده توسط شِیدِر مطابقت داشته باشند.
CreateRenderTarget abstract
یک هدف رندر میسازد. میتواند برای render-to-texture و غیره استفاده شود.
RenderTarget CreateRenderTarget(int width, int height)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
عرض هدف رندر |
height |
System.Int32 |
ارتفاع هدف رندر |
CreateRenderTarget abstract
RenderTarget CreateRenderTarget(Vector2 size)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
size |
Strawberry.Math.Vector2 |
Resize abstract
هدف رندر اصلی استفادهشده توسط کانتکست گرافیکی را تغییر اندازه میدهد.
void Resize(int width, int height)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
width |
System.Int32 |
عرض جدید |
height |
System.Int32 |
ارتفاع جدید |
GetScreenSize abstract
Vector2 GetScreenSize()