+ Added Field to DrawingBasis to enfore PrimitiveTypes + LastObject to context for Debugging + AppendRenderbuffer to Framebuffer ~ Added a depthbuffer to RenderPipeline.CreateWindowFramebuffer ~ Proper ZIndices over Z-Translation and DepthBuffer ~ Made "ShaderArguments["LineWidth"]" set the LineWidth even if the object isn't maked as LineMesh ~ Made that the SM2D.PolygonVertex can translate OpenTK.Vector2 by itself. ~ Made the SM2D.Transformation.ZIndex a CVector1 instead a float
35 lines
No EOL
1.3 KiB
C#
35 lines
No EOL
1.3 KiB
C#
using OpenTK.Graphics.OpenGL4;
|
|
|
|
namespace SM.OGL.Framebuffer
|
|
{
|
|
public struct RenderbufferAttachment
|
|
{
|
|
public static readonly RenderbufferAttachment Depth = new RenderbufferAttachment(RenderbufferStorage.Depth24Stencil8, FramebufferAttachment.DepthStencilAttachment);
|
|
|
|
public RenderbufferStorage Storage;
|
|
public FramebufferAttachment FramebufferAttachment;
|
|
|
|
public int Multisample;
|
|
|
|
public RenderbufferAttachment(RenderbufferStorage storage, FramebufferAttachment framebufferAttachment, int multisample = 0)
|
|
{
|
|
Storage = storage;
|
|
FramebufferAttachment = framebufferAttachment;
|
|
Multisample = multisample;
|
|
}
|
|
|
|
public int Generate(Framebuffer f)
|
|
{
|
|
int rbo = GL.GenRenderbuffer();
|
|
|
|
GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, rbo);
|
|
if (Multisample != 0)
|
|
GL.RenderbufferStorageMultisample(RenderbufferTarget.Renderbuffer, Multisample, Storage, (int)f.Size.X, (int)f.Size.Y);
|
|
else
|
|
GL.RenderbufferStorage(RenderbufferTarget.Renderbuffer, Storage, (int)f.Size.X, (int)f.Size.Y);
|
|
GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, 0);
|
|
|
|
return rbo;
|
|
}
|
|
}
|
|
} |