GithubHelp home page GithubHelp logo

chronologicaldot / curri Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 181 KB

Boilerplate code for creating applications with Irrlicht Engine and Copper Language

License: Other

Lua 1.31% Cuda 0.03% C++ 96.71% Python 1.94%
irrlicht irrlicht-engine c-plus-plus gui application-boilerplate

curri's Introduction

Curri - Boilerplate Application Code

Curri is basic boilerplate code needed for creating applications using Irrlicht and Copper. It utilizes Cupric Bridge to create the GUI elements, but it provides the basic setup, including script loading, font loading, error logging, command-line argument parsing, and application exit.

Usage

Create a copy of this project's contents for your application, then either modify App or create a class that inherits App and implement its virtual functions. You'll need to change the main.cpp to run your class if you do the latter.

A logging class (AppLogger) is provided separate from the App class. To incorporate it, simply create an instance of it as a class member of your main application and pass in a reference to it to the Copper engine via Cu::Engine::setLogger( Cu::Logger* ).

Irrlicht Setup

You will need to Irrlicht 1.8 dev (called 1.9) from the SVN repository. Download from the SVN repository with:

svn checkout svn://svn.code.sf.net/p/irrlicht/code/trunk irrlicht-trunk

Copper Engine and Cupric Bridge Setup

Copper and Cupric Bridge are expected to be placed in directories side-by-side with the Curri outermost directory. However, you can plop them into your project just about anywhere since they aren't compiled. Just remember to set the include path for GCC so it can find them.

Copper Scripts Setup

Copper files are loaded from the "scripts" directory. The first script loaded is named "project.cu". Within this folder are import() calls to include other files into the project. Once project.cu has been processed, the other files that have been included will be processed in the order they have been imported. Within these other files, the function require() can be called with a file name to require that such a file have been imported first. In the case that it wasn't, processing is halted.

Requirements

Requirements for Irrlicht

There are VisualStudio projects for Windows users.

Linux build

The OpenGL libraries

$ sudo apt-get install freeglut3 freeglut3-dev freeglut3-dbg"

(Note: This will install the entire GLUT development files. If you use Debian you only need libgl1-mesa)

Misc

$ sudo apt-get install build-essential xserver-xorg-dev x11proto-xf86vidmode-dev libxxf86vm-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libxext-dev libxcursor-dev

"make" instructions are in the MakeFile in the source/Irrlicht directory, but it's as simple as:

$ make
$ make sharedlib
$ sudo make install

License

Please see license.txt.

The font "Exo2-LightExpanded.otf" is copyright Natanael Gama. The font "Rounded Elegance.ttf" is copyright Douglas Charles Cunha.

curri's People

Contributors

chronologicaldot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.