standard-fish / creative-racket-2022

Creative Racket competition
MIT License
14 stars 1 forks source link

Tangerine #10

Open Aeva opened 2 years ago

Aeva commented 2 years ago

Description

My entry for the Creative Racket Competition is a library I've been working on for creating art out of implicit surfaces, called Tangerine.

The primary feature of Tangerine is its renderer, which is incomplete, and is not ready to be incorporated into other projects or otherwise be judged. However, the language for describing models by combining signed distance functions is quite powerful, and is likely to be attractive for other creative uses.

For this competition, I've reworked Tangerine to be functional as a stand alone library without the renderer, and added an export function so that models may be saved out as voxel models in the MagicaVoxel file format. Additionally, I have also written documentation for this mode, which with the examples already in the repository should hopefully be suitable for people to actually use this to create novel 3D art. This mode is called Tangerine "Miniscule", and it is available for AMD64 systems running Windows or GNU/Linux.

Beyond the scope of this competition, I am planning on expanding this mode further with other 3D model formats for export, support for color models, adding new functionality for robust model creation, and methods for spacial queries which may be useful for things like physical simulations.

Location for Entry

My entry link and the code link are the same. The library and the documentation are found on the project's github page. I will also add a few more example images as replies to this thread after I finish writing this post.

How you made your entry?

Both variants of Tangerine only uses Racket's standard library, and a C++ backend. The #lang is racket/base. Tangerine "Miniscule" use the C++ library MagicaWriter for exporting MagicaVoxel files. Several other C++ libraries are also present in the repository, but are unused for this mode.

To use Tangerine "Miniscule", follow the installation instructions from the project's github page, and then the "Writing Your First Tangerine Model" section to produce a simple voxel model.

Licence

Licence for you image or media file: CC0 Licence for you code: Apache 2

Contact details

I've submitted my address via the form, but please also reach out to me on the Racket discord.

Aeva commented 2 years ago

image generated from https://github.com/Aeva/tangerine/blob/excelsior/models/wheel.rkt

Aeva commented 2 years ago

image generated from https://github.com/Aeva/tangerine/blob/excelsior/models/basic_thing.rkt

Aeva commented 2 years ago

image generated from https://github.com/Aeva/tangerine/blob/excelsior/models/spiral.rkt

Aeva commented 2 years ago

image generated from https://github.com/Aeva/tangerine/blob/excelsior/models/tiles.rkt

Aeva commented 2 years ago

snap2022-02-28-00-40-26 generated from https://github.com/Aeva/tangerine/blob/excelsior/models/windows.rkt

Aeva commented 2 years ago

image https://github.com/Aeva/tangerine/blob/excelsior/models/mailbox.rkt

Aeva commented 2 years ago

image generated from https://github.com/Aeva/tangerine/blob/excelsior/models/brick-spiral.rkt