All Projects → h0MER247 → swGL

h0MER247 / swGL

Licence: GPL-2.0 license
A multithreaded software implementation of OpenGL 1.3 in C++.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to swGL

rasterator
Real-time software rasterizer written in C++ with windowing and model loading support.
Stars: ✭ 15 (-70%)
Mutual labels:  rasterizer, software-rasterizer
ksql-jdbc-driver
JDBC driver for Apache Kafka
Stars: ✭ 85 (+70%)
Mutual labels:  driver
jet
A Fast C and Python like Programming Language that puts the Developer first. WIP
Stars: ✭ 41 (-18%)
Mutual labels:  software
Prevent Process Creation
Record & prevent process creation in kernel mode
Stars: ✭ 31 (-38%)
Mutual labels:  driver
1000hz
Overclock your old mouse and increase its polling rate
Stars: ✭ 45 (-10%)
Mutual labels:  driver
bytenet translation
A TensorFlow Implementation of Machine Translation In Neural Machine Translation in Linear Time
Stars: ✭ 60 (+20%)
Mutual labels:  implementation
opendragon
Open Redragon drivers for Linux. Currently only supporting some mice.
Stars: ✭ 72 (+44%)
Mutual labels:  driver
RCNN
Step-By-Step Implementation of R-CNN from scratch in python
Stars: ✭ 75 (+50%)
Mutual labels:  implementation
trener
A simple programming challenge for implementing a train station app
Stars: ✭ 28 (-44%)
Mutual labels:  software
nestjs-storage
Nestjs file system / file storage module wrapping flydrive
Stars: ✭ 92 (+84%)
Mutual labels:  driver
malleable.systems
Website for the malleable systems and software community
Stars: ✭ 49 (-2%)
Mutual labels:  software
rust-memcache
memcache client for rust
Stars: ✭ 106 (+112%)
Mutual labels:  driver
iris
The interpreter of ISLisp
Stars: ✭ 58 (+16%)
Mutual labels:  implementation
crystal-mysql
MySQL connector for Crystal
Stars: ✭ 102 (+104%)
Mutual labels:  driver
neo4j-jdbc
JDBC driver for Neo4j
Stars: ✭ 110 (+120%)
Mutual labels:  driver
fluent-provider
A provider for including Fluent in Vapor applications
Stars: ✭ 13 (-74%)
Mutual labels:  driver
CPU-Rasterizer
A tile based cpu rasterizer
Stars: ✭ 30 (-40%)
Mutual labels:  rasterizer
Gisola
Gisola: A High Performance Computing application for real-time Moment Tensor inversion
Stars: ✭ 35 (-30%)
Mutual labels:  software
react-native-text-area
Simple and easy to use TextArea for React Native.
Stars: ✭ 20 (-60%)
Mutual labels:  software
APC
Arduino Pinball Controller
Stars: ✭ 27 (-46%)
Mutual labels:  software

swGL

A (reasonably fast) multithreaded software rasterizer implementation of OpenGL 1.3(ish).

Screenshots

Quake 3 - Q3CTF3 Quake 3 - NOR3CTF1 Star Trek - Elite Force II Star Trek - Elite Force II Half Life 1 Half Life 1 Unreal Tournament 99 Unreal Tournament 99 Heavy Metal: F.A.K.K.² Serious Sam -  The First Encounter Serious Sam -  The First Encounter Doom 3

How fast is it

Reasonably fast for a software rasterizer :). You'll get good framerates if you stick to 640x480 or 800x600 resolutions.

How to get it running

For most games it's enough to put the resulting file OpenGL32.dll right into the game directory. Games like Half Life 1, Star Trek - Elite Force I or Heavy Metal F.A.K.K.² however need some config file modifications before they use the custom OpenGL driver. For this games you have to rename the OpenGL32.dll file you just compiled to something else - like swGL.dll for example - or they will just use the OpenGL driver provided from your graphics card vendor!

Half Life 1

Put swGL.dll into Half Life 1's gldrv directory and modify the file drvmap.txt accordingly. Then select the driver from the Options menu in Half Life 1.

Star Trek - Elite Force I / Heavy Metal F.A.K.K.²

Put swGL.dll into the game directory. Modify the config file inside the BaseEF / fakk directory to use the new custom OpenGL driver. To do this, add the command r_gldriver "swGL.dll".

Supported Games

As far as I can tell Quake 3, Star Trek Elite Force I & II, Half Life 1, Unreal, Unreal Tournament 99, Heavy Metal: F.A.K.K.², Serious Sam - The First & Second Encounter and Warcraft III work pretty well for the most part. Homeworld, Enclave and Doom 3 work okay. Blade Of Darkness isn't really playable as I haven't implemented display lists. I haven't tried other titles so far.

Have fun.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].