o
odinpkg.dev
packages / app / odin-opengl-examples

odin-opengl-examples

ee3fb86app

examples of using opengl & glfw in odin

No license · updated 2 months ago

odin-opengl-examples

examples of using opengl and glfw using odin, also one example for raylib and vulkan each

examples work but arent necessarily well done / documented
as i used this to get to know odin

resources: odin docs, bg-thompson: OpenGL-Tutorials-In-Odin, learnopengl.com

external code: ufbx, odin-ufbx

assets: my own texture, stylized-brick-002 texture, JetBrains Mono, cube / sphere / suzanne model made using blender

! from 10 onwards if you get linking errors, recompile 10_ufbx/external/ufbx/ufbx.c -> ufbx.lib / .a, see odin-ufbx
then copy that library file to any other example using ufbx

00_hello: default odin hello world 01_import: using the import statement and packages
02_raylib: open default window in raylib 03_glfw: blank window in glfw
logo logo
04_vulkan: blank window using vulkan 05_triangle: opengl & glfw triangle
logo logo
06_quad: opengl & glfw quad 07_texture: opengl & glfw textured quad
logo logo
08_cube: opengl & glfw rotating cube 09_camera: free-fly camera and opengl & glfw textured cube
logo logo
10_ufbx: loading .fbx file, also blinn-phong shading 11_entities: multiple moving 3d meshes in one scene
logo logo
12_normal: normal mapping 13_cel: cel shading and shader re-compilation
logo logo
14_pbr: pbr shading 15_deferred: deferred pbr shading
not yet working logo
16_text: unbatched text rendering using vendor:stb/truetype 17_microui:
logo not working
18_nuklear: 19_imgui: using L-4's bindings, see tutorial, use your own vcvarsall.bat file see 19_imgui/external/odin-imgui/IMPORTANT_README.txt
not working logo

todo

  • hot-reloading, video_01, video_02
  • dump stack trace
  • tracking allocator
  • temporary allocator WIP
  • reflection
    • get all names of struct members
    • set struct members
  • opengl debugging WIP
    • set callback
    • print location of error
    • filter errors
  • text rendering
    • unbatched
    • batched
    • 3d
    • sdf
  • pbr WIP
  • deferred shading
  • tonemapping
  • microui
  • nuklear
  • dear imgui
  • debug-renderer
  • fx
    • anti-aliasing, fxa prob.
    • bloom
    • cascaded shadows
  • particle system -> instanced rendering, batching, etc.
  • serialization
  • skeletal anim, video_01,
  • figure out why loading fbx files is so slow
  • asset manager
  • clean up code, add comments

maybe