Skip to content

wwwqr-000/PhotonASCII

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhotonASCII

A terminal-based, raycast-light engine in C++ (2D)

Instructions

First, you will need to get the photon-ascii folder and it's contents.

Then, simply create a main.cpp file at the level of the folder, and place these lines at the top of yourmain.cpp file:

#define SCREEN_WIDTH 100
#define SCREEN_HEIGHT 20
#define SCENE_WIDTH 100
#define SCENE_HEIGHT 20
#define TERMINAL_ASPECT 2.0f
#define CLS_CMD "clear"
#include "photon-ascii/self.hpp"

And ofcourse, you can change all these defines.

That's it. You can add and edit stuff in the folder to your likings, and for a working example, have a look at the main.cpp file in this repo.

Also; have a look at the self.hpp file in the photon-ascii folder. There are some things to configure if you want/ need to.

Examples are located at examples/ Idk why I said that, makes sense haha, but here you go.

What can you do with it?

PhotonASCII provides a way to interact with light and self made structures (Yes, you can move and animate structures in the tick loop)

With this, you can create games, rendering, paintings, interactive UI, fancy terminal stuff, and much more

Have fun casting chars as photons!

image

Color Blend

image

Candles + Table

image

"Forest"

image

Shadow color cast

image

Animated tick frame

image

colors

"Spotlight"

image

"House"

image

Used mathematical laws/ algorithms

PhotonASCII uses two mathematical laws/ algorithms

image image

About

A terminal-based, raycast-light engine in C++ (2D)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages