GLdc: an OpenGL implementation for the SEGA Dreamcast
Go to file
Luke Benstead 3d1f447af9 Merge branch 'paletted-textures' into 'master'
4BPP paletted textures and OES_compressed_paletted_texture support

See merge request simulant/GLdc!98
2022-05-04 20:05:24 +00:00
containers Don't include platform.h from aligned_vector.h 2021-09-18 17:40:10 +01:00
GL Restore validation of the internalFormat (even though it's unused) 2022-05-04 21:00:15 +01:00
include/GL Merge branch 'paletted-textures' into 'master' 2022-05-04 20:05:24 +00:00
samples Merge remote-tracking branch 'ozzyouzo/master' into paletted-textures 2022-05-04 20:39:39 +01:00
toolchains Enable building for sub-architecture naomi. 2021-07-05 19:12:10 +00:00
.gitattributes
.gitignore Update .gitignore 2021-04-10 13:00:59 +01:00
.gitlab-ci.yml Fix ci 2021-10-01 20:20:29 +00:00
CMakeLists.txt regroup the BMP file loading into 1 file, and correct some types that give... 2022-01-31 10:30:26 +00:00
LICENSE
README.md Update README 2021-04-10 13:15:46 +01:00

GLdc

Development of GLdc has moved to Gitlab

This is a partial implementation of OpenGL 1.2 for the SEGA Dreamcast for use with the KallistiOS SDK.

It began as a fork of libGL by Josh Pearson but has undergone a large refactor which is essentially a rewrite.

The aim is to implement as much of OpenGL 1.2 as possible, and to add additional features via extensions.

Things left to (re)implement:

  • Spotlights (Trivial)
  • Framebuffer extension (Trivial)
  • Texture Matrix (Trivial)

Things I'd like to do:

  • Use a clean "gl.h"
  • Define an extension for modifier volumes
  • Add support for point sprites
  • Optimise, add unit tests for correctness

Compiling

GLdc uses CMake for its build system, it currently ships with two "backends":

  • kospvr - This is the hardware-accelerated Dreamcast backend
  • software - This is a stub software rasterizer used for testing testing and debugging

To compile for Dreamcast, you'll want to do something like the following:

mkdir dcbuild
cd dcbuild
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/Dreamcast.cmake -G "Unix Makefiles" ..
make

You will need KallistiOS compiled and configured (e.g. the KOS_BASE environment variable must be set)

To compile for PC:

mkdir pcbuild
cd pcbuild
cmake -G "Unix Makefiles" ..
make

Special Thanks!

  • Massive shout out to Hayden Kowalchuk for diagnosing and fixing a large number of bugs while porting GL Quake to the Dreamcast. Absolute hero!