Sem descrição

Karl Zylinski 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
.github 0fd307e6db CI basics há 6 meses atrás
api_doc_builder 89ab4dab26 Doc styling há 6 meses atrás
examples 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
handle_map c994c4c77b Some kind of texture handle concept há 6 meses atrás
.gitignore b438621db6 Some initial work on loading shaders. Fetches constant buffer locations using reflection and makes it possible to set them. A constant buffer field called 'mvp' is automatically filled if found há 6 meses atrás
LICENSE 361c3c9672 Snake example há 7 meses atrás
README.md 0c7cb4eaa7 move todo to separate file há 4 meses atrás
TODO.md 0c7cb4eaa7 move todo to separate file há 4 meses atrás
config.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
default_shader_fragment.glsl 50e390b39b Working on GL uniforms há 4 meses atrás
default_shader_vertex.glsl 50e390b39b Working on GL uniforms há 4 meses atrás
karl2d.doc.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
karl2d.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
render_backend_d3d11.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
render_backend_gl.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
render_backend_gl_windows.odin da0429fe29 Move wgl to separate file há 4 meses atrás
render_backend_interface.odin 4c468a2972 Reworked how constants are exposed from backend to end-user. Now there are only named constants, but those may or may not be backed by a constant buffer behind the scences. This will play nicer with GL while allowing the typical constant buffer blocks of d3d há 4 meses atrás
roboto.ttf 3cc43427a0 Some basic font rendering há 5 meses atrás
shader.hlsl 50e390b39b Working on GL uniforms há 4 meses atrás
window_interface.odin 02053e019e get window scale support há 6 meses atrás
window_win32.odin c0409f636d GL backend: geometry on gpu, not rendering anything yet há 4 meses atrás

README.md

This library is NOT ready for use!

Karl2D is a work-in-progress library for creating 2D games using the Odin Programming Language.

The API is based on Raylib because I like that API. But the implementation is meant to have as few dependencies as possible (only core libs and rendering APIs in vendor). The API will not be identical to Raylib. I'll modify to fit Odin better etc.

What features of Raylib will not be included?

  • 3D
  • Some maths things that can be found in Odin's core libs

Might not be included:

  • Time management (use core:time instead)