fix #300 - missing GetRenderBuffer/GetTarget

This commit is contained in:
Egor Bogatov 2018-02-27 15:18:24 +03:00
Родитель a8c7086351
Коммит c8dd028d5c
3 изменённых файлов: 78 добавлений и 3 удалений

Просмотреть файл

@ -133,6 +133,18 @@ namespace Urho
RenderSurface_Release (handle);
}
[DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
internal static extern bool RenderSurface_CreateRenderBuffer (IntPtr handle, uint width, uint height, uint format, int multiSample);
/// <summary>
/// Create renderbuffer that cannot be sampled as a texture. Only used on OpenGL.
/// </summary>
public bool CreateRenderBuffer (uint width, uint height, uint format, int multiSample)
{
Runtime.ValidateRefCounted (this);
return RenderSurface_CreateRenderBuffer (handle, width, height, format, multiSample);
}
[DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
internal static extern int RenderSurface_GetWidth (IntPtr handle);
@ -325,6 +337,30 @@ namespace Urho
return RenderSurface_GetReadOnlyView (handle);
}
[DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
internal static extern uint RenderSurface_GetTarget (IntPtr handle);
/// <summary>
/// Return surface's OpenGL target.
/// </summary>
private uint GetTarget ()
{
Runtime.ValidateRefCounted (this);
return RenderSurface_GetTarget (handle);
}
[DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
internal static extern uint RenderSurface_GetRenderBuffer (IntPtr handle);
/// <summary>
/// Return OpenGL renderbuffer if created.
/// </summary>
private uint GetRenderBuffer ()
{
Runtime.ValidateRefCounted (this);
return RenderSurface_GetRenderBuffer (handle);
}
[DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
internal static extern bool RenderSurface_IsResolveDirty (IntPtr handle);
@ -495,6 +531,24 @@ namespace Urho
}
}
/// <summary>
/// Return surface's OpenGL target.
/// </summary>
public uint Target {
get {
return GetTarget ();
}
}
/// <summary>
/// Return OpenGL renderbuffer if created.
/// </summary>
public uint RenderBuffer {
get {
return GetRenderBuffer ();
}
}
/// <summary>
/// Return whether multisampled rendertarget needs resolve.
/// Or

Просмотреть файл

@ -13582,6 +13582,13 @@ RenderSurface_Release (Urho3D::RenderSurface *_target)
}
DllExport int
RenderSurface_CreateRenderBuffer (Urho3D::RenderSurface *_target, unsigned int width, unsigned int height, unsigned int format, int multiSample)
{
return _target->CreateRenderBuffer (width, height, format, multiSample);
}
DllExport int
RenderSurface_GetWidth (Urho3D::RenderSurface *_target)
{
@ -13694,6 +13701,20 @@ RenderSurface_GetReadOnlyView (Urho3D::RenderSurface *_target)
}
DllExport unsigned int
RenderSurface_GetTarget (Urho3D::RenderSurface *_target)
{
return _target->GetTarget ();
}
DllExport unsigned int
RenderSurface_GetRenderBuffer (Urho3D::RenderSurface *_target)
{
return _target->GetRenderBuffer ();
}
DllExport int
RenderSurface_IsResolveDirty (Urho3D::RenderSurface *_target)
{

Просмотреть файл

@ -811,7 +811,7 @@ namespace SharpieBinder
{ "ConstantBuffer", new[] { "OnDeviceReset" } },
{ "Graphics", new[] { "CleanupRenderSurface","CleanupShaderPrograms","GetAnisotropySupport","GetDepthTexture","GetForceGL2","GetGL3Support","GetGL3Support","GetOrCreateConstantBuffer","GetShaderProgram","MarkFBODirty","MarkFBODirty","Release","Restore","SetForceGL2","SetTextureForUpdate","SetUBO","SetVBO" } },
{ "IndexBuffer", new[] { "OnDeviceReset" } },
{ "RenderSurface", new[] { "CreateRenderBuffer","GetRenderBuffer","GetTarget","OnDeviceLost","SetTarget" } },
{ "RenderSurface", new[] { "OnDeviceLost" } },
{ "ShaderProgram", new[] { "GetUsedVertexAttributes", "ClearGlobalParameterSource","ClearGlobalParameterSource","ClearParameterSource","ClearParameterSources","ClearParameterSources","GetLinkerOutput","GetParameter","GetPixelShader","GetVertexShader","HasParameter","HasTextureUnit","Link","NeedParameterUpdate","OnDeviceLost","Release" } },
{ "ShaderVariation", new[] { "OnDeviceLost" } },
{ "Texture", new[] { "GetDataType","GetDataType","GetExternalFormat","GetExternalFormat","GetTarget" } },
@ -983,7 +983,7 @@ namespace SharpieBinder
if (IsUnsupportedType(p.QualType, returnType: false) && !isVariantArgument)
{
//Console.WriteLine($"Bailing out on {p.QualType} from {decl.QualifiedName}");
Console.WriteLine($"Bailing out on {p.QualType} from {decl.QualifiedName}");
return false;
}
}
@ -992,7 +992,7 @@ namespace SharpieBinder
return false; //it won't be easy to handle if it has more than one Variant argument
if (IsUnsupportedType(decl.ReturnQualType, returnType: true)) {//variant return type is not support yet
//Console.WriteLine($"RETURN Bailing out on {decl.ReturnQualType} from {decl.QualifiedName}");
Console.WriteLine($"RETURN Bailing out on {decl.ReturnQualType} from {decl.QualifiedName}");
return false;
}
return true;