quaazar is a scene and 3D engine initially designed for demoscene purposes. However, quaazar will be released as a BSD3 Haskell package at some day.
quaazar is a work-in-progress Haskell package. It uses OpenGL behing the scene, but will also use Vulkan as it’s released. It’s a continuous effort to be modern and up-to-date. That’s why the initial version of quaazar will be backed-up by OpenGL 4.4 at least – OpenGL 4.5 if drivers get shit done correctly.
Up to now, I strongly don’t recommend to use quaazar yet. It’s not ready for you folks. I’ll write a few articles about it on my blog when it’s ready to be shipped.
However, if you’re tedious and want to get your feet (very) wet, you can clone the
git repository, cabal install --only-dependencies
and cabal install
. It will
install the library and a tool called qzr
. Consider using qzr init [path]
to
start a new quaazar project in the current directory. It’ll create a default
application with a black window.
The documentation is not on hackage yet since it’s not released, so consider building it when installing quaazar. It’s not complete, but it’s not empty either.
quaazar will be available on the following platforms:
Yeah, you might find quaazar pretty cool. If you don’t, tell me in the face. Ahah just kidding, but tell me why you think it sucks in the issues tracker. That’s important to me in order to enhance quaazar and make everyone happy.
quaazar is actually my software baby. In the end, I want everyone to be able to use it. That doesn’t mean I want to give it away. As my property, it’s also my toy, my decisions, my way to picture rendering. Then, I don’t commonly accept pull requests.
However, if you push a PR that fixes a critical issue, I’ll accept it for sure. I’m also open-minded to meta discussions about it. If quaazar gets used by a lot of people at some times, I want everyone to be happy with it. Don’t blame BDFL.
As new versions get released, backward compatibility and legacy code will follow the Haskell versioning guidelines, that are:
The initial version is 0.1.
quaazar is shipped with default materials, like an enhanced version of the phong lighting model:
It has a nice support of compositing, which can be used to implement nice post-process effects:
quaazar supports an arbitrary number of lights per scene and especially allows the programmer to use as many shadows as they wish. Furthermore, the level of detail of each shadow can be changed dynamically: