Skip to content

Commit

Permalink
Move types into separate file, to avoid name conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
Samadi van Koten authored and ikskuh committed Apr 22, 2021
1 parent bdb3aa3 commit 65dc208
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 89 deletions.
95 changes: 95 additions & 0 deletions types.zig
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
const c = @cImport({
@cInclude("epoxy/gl.h");
});

const gl = @import("zgl.zig");

pub const VertexArray = enum(c.GLuint) {
invalid = 0,
_,

pub const create = gl.createVertexArray;
pub const delete = gl.deleteVertexArray;
pub const gen = gl.genVertexArray;
pub const bind = gl.bindVertexArray;
pub const enableVertexAttribute = gl.enableVertexArrayAttrib;
pub const disableVertexAttribute = gl.disableVertexArrayAttrib;

pub const attribFormat = gl.vertexArrayAttribFormat;
pub const attribIFormat = gl.vertexArrayAttribIFormat;
pub const attribLFormat = gl.vertexArrayAttribLFormat;

pub const attribBinding = gl.vertexArrayAttribBinding;

pub const vertexBuffer = gl.vertexArrayVertexBuffer;
pub const elementBuffer = gl.vertexArrayElementBuffer;
};

pub const Buffer = enum(c.GLuint) {
invalid = 0,
_,

pub const create = gl.createBuffer;
pub const gen = gl.genBuffer;
pub const bind = gl.bindBuffer;
pub const delete = gl.deleteBuffer;
pub const data = gl.namedBufferData;
};

pub const Shader = enum(c.GLuint) {
invalid = 0,
_,

pub const create = gl.createShader;
pub const delete = gl.deleteShader;

pub const compile = gl.compileShader;
pub const source = gl.shaderSource;

pub const get = gl.getShader;
pub const getCompileLog = gl.getShaderInfoLog;
};

pub const Program = enum(c.GLuint) {
invalid = 0,
_,

pub const create = gl.createProgram;
pub const delete = gl.deleteProgram;

pub const attach = gl.attachShader;
pub const detach = gl.detachShader;

pub const link = gl.linkProgram;

pub const use = gl.useProgram;

pub const uniform1ui = gl.programUniform1ui;
pub const uniform1i = gl.programUniform1i;
pub const uniform1f = gl.programUniform1f;
pub const uniform3f = gl.programUniform3f;
pub const uniform4f = gl.programUniform4f;
pub const uniformMatrix4 = gl.programUniformMatrix4;

pub const get = gl.getProgram;
pub const getCompileLog = gl.getProgramInfoLog;
pub const uniformLocation = gl.getUniformLocation;
};

pub const Texture = enum(c.GLuint) {
invalid = 0,
_,

pub const create = gl.createTexture;
pub const delete = gl.deleteTexture;

pub const bindTo = gl.bindTextureUnit;

pub const parameter = gl.textureParameter;

pub const storage2D = gl.textureStorage2D;
pub const storage3D = gl.textureStorage3D;

pub const subImage2D = gl.textureSubImage2D;
pub const subImage3D = gl.textureSubImage3D;
};
90 changes: 1 addition & 89 deletions zgl.zig
Original file line number Diff line number Diff line change
Expand Up @@ -8,95 +8,7 @@ comptime {
std.testing.refAllDecls(@This());
}

pub const VertexArray = enum(c.GLuint) {
invalid = 0,
_,

pub const create = createVertexArray;
pub const delete = deleteVertexArray;
pub const gen = genVertexArray;
pub const bind = bindVertexArray;
pub const enableVertexAttribute = enableVertexArrayAttrib;
pub const disableVertexAttribute = disableVertexArrayAttrib;

pub const attribFormat = vertexArrayAttribFormat;
pub const attribIFormat = vertexArrayAttribIFormat;
pub const attribLFormat = vertexArrayAttribLFormat;

pub const attribBinding = vertexArrayAttribBinding;

pub const vertexBuffer = vertexArrayVertexBuffer;
pub const elementBuffer = vertexArrayElementBuffer;
};

pub const Buffer = enum(c.GLuint) {
invalid = 0,
_,

pub const create = createBuffer;
pub const gen = genBuffer;
pub const bind = bindBuffer;
pub const delete = deleteBuffer;
pub const data = namedBufferData;
};

pub const Shader = enum(c.GLuint) {
invalid = 0,
_,

pub const create = createShader;
pub const delete = deleteShader;

pub const compile = compileShader;
pub const source = shaderSource;

pub const get = getShader;
pub const getCompileLog = getShaderInfoLog;
};

pub const Program = enum(c.GLuint) {
invalid = 0,
_,

pub const create = createProgram;
pub const delete = deleteProgram;

pub const attach = attachShader;
pub const detach = detachShader;

pub const link = linkProgram;

pub const use = useProgram;

pub const uniform1ui = programUniform1ui;
pub const uniform1i = programUniform1i;
pub const uniform1f = programUniform1f;
pub const uniform3f = programUniform3f;
pub const uniform4f = programUniform4f;
pub const uniformMatrix4 = programUniformMatrix4;

pub const get = getProgram;
pub const getCompileLog = getProgramInfoLog;
pub const uniformLocation = getUniformLocation;
};

pub const Texture = enum(c.GLuint) {
invalid = 0,
_,

pub const create = createTexture;
pub const delete = deleteTexture;

pub const bindTo = bindTextureUnit;

pub const parameter = textureParameter;

pub const storage2D = textureStorage2D;
pub const storage3D = textureStorage3D;

pub const subImage2D = textureSubImage2D;
pub const subImage3D = textureSubImage3D;
};
pub usingnamespace @import("types.zig");

pub const ErrorHandling = enum {
/// OpenGL functions will log the error, but will not assert that no error happened
Expand Down

0 comments on commit 65dc208

Please sign in to comment.