Тайлбар байхгүй

Karl Zylinski 5b509c262b triangle and and some camera things. 7 сар өмнө
examples ef2e77b4f0 Win32: Open window, clear background, basic keyboard input things. 7 сар өмнө
.gitignore 2dc388c5ba karlib -> karl2d 7 сар өмнө
LICENSE 361c3c9672 Snake example 7 сар өмнө
README.md 2dc388c5ba karlib -> karl2d 7 сар өмнө
karl2d.odin ef2e77b4f0 Win32: Open window, clear background, basic keyboard input things. 7 сар өмнө
karl2d_raylib.odin ef2e77b4f0 Win32: Open window, clear background, basic keyboard input things. 7 сар өмнө
karl2d_windows.odin 5b509c262b triangle and and some camera things. 7 сар өмнө
shader.hlsl 5b509c262b triangle and and some camera things. 7 сар өмнө
todo.txt 5b509c262b triangle and and some camera things. 7 сар өмнө

README.md

This library is NOT ready for use!

Karl2D is a WIP library for creating 2D games using the Odin Programming Language.

The API is based on Raylib, but adapted to my tastes.

In its current state, Karl2D wraps Raylib. But in the long term the library will have its own implementation that only uses core libraries and rendering APIs from vendor.

Big upcoming tasks:

  • Port raylib examples to figure out API surface
  • Write a Windows + D3D11 backend (no more Raylib)

Why does it wrap Raylib?

I know Raylib very well. I like it, but I would like to have something written in native Odin. Having a native library is great for debugging, among other reasons. There are a few things I'd like to change about Raylib as well. So this library is meant to solve all those things.

However, since I like Raylib, using something similar to its API is a good starting point. The steps towards a native Odin library independent of Raylib are:

  • Wrap Raylib
  • Modify the API to my tastes, within what is possible while still wrapping Raylib
  • Write a new implementation that uses native OS windowing APIs and rendering APIs
  • At this point I have more control and can further refine the API

What features of Raylib will not be included?

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

Audio support isn't planned at first, but may be added later. Until then you can use vendor:miniaudio or similar.

I might skip the GetFrameTime / GetTime from Raylib and let the user use core:time instead.