GithubHelp home page GithubHelp logo

javicervera / vortex-cx Goto Github PK

View Code? Open in Web Editor NEW
25.0 7.0 3.0 205.33 MB

Vortex rendering engine for the Monkey and Cerberus-X programming languages

License: MIT License

C++ 81.42% C 18.41% Monkey 0.08% Batchfile 0.02% Shell 0.07%

vortex-cx's Introduction

Vortex Vortex

Vortex is an open-source, lightweight 3D graphics rendering library which is easy to use and easy to integrate with any application that requires graphics. It can also be used as the base for a higher level graphics or game engine.

It has been released under the terms of the MIT license, which allows its use within both open and closed source software. This license allows to use the library in commercial applications.

Features

  • A clean, simple object oriented API programmed in the Cerberus-X language.
  • Works on all Cerberus-X targets that support OpenGL ES 2: Windows, macOS, Linux, Android, iOS and HTML5.
  • Graphics architecture based on modern OpenGL ES 2.0. It makes use of shaders and vertex buffer objects.
  • Supports 2D (primitives, images, text) and 3D rendering.
  • Loads textures in the most common formats: JPG, PNG, BMP...
  • Includes tool to convert TrueType (ttf) fonts into bitmap based fonts.
  • Meshes can be created in code or loaded from a custom format (includes tool which uses the Irrlicht engine to import meshes, with support for several popular formats).
  • Materials support diffuse color, diffuse texture, lightmap, normal map, cube map, opacity, specular reflections and shadows. They also support different blending modes: solid, alpha, additive, multiplicative.
  • Dynamic lighting with directional and point lights (configurable number of lights).
  • Realtime shadows from a single directional light source.
  • Vertex based animation for meshes (vertex animations are automatically generated from skeletal animations).
  • Linear fog for ambient effects.
  • Collision detection with cubes and spheres, triangle collision detection with raycasting.
  • Camera picking of entities.

Installation

You should clone the repository onto <CerberusFolder>/modules_ext/vortex, or download as a zip file and put the vortex folder on that same <CerberusFolder>/modules_ext location. You should select Help -> Rebuild Help on the Cerberus-X IDE (Ted) afterwards, and the documentation will be available in your modules help.

Acknowledgments

  • The Irrlicht team for the engine used on the mesh tool (Irrlicht is licensed under the Zlib license).
  • Sean T. Barret for his stb_image_write and stb_truetype libraries, used on the tools (these libraries are public domain).

meshtool

vortex-cx's People

Contributors

javicervera avatar mikehart66 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vortex-cx's Issues

Request: LookAt method

Hi Javi,

it would be cool if Vortex would have a entity.LookAt(entity) method. So for an example, the camera could always look at a certain entity.

Cheers
Michael

Material or Texture flag selection

Hi, great stuff. I have successfully tested most of the demos on different targets. would like to know how I can enable and disable some textures, something like turning off shadows and enabling stuff like normal, spec, env and lightmap only. tnx.

Request: TurnTo method

Hi Javi,

it would be cool if Vortex would have a entity.TurnToEntity (targetEntity,xrate,yrate,zrate) method. So for an example, the camera could turn to at a certain entity.

Cheers
Michael

Lighning and shadow issues in release2.0 branch

Hi Javi,

running the test_lighning show no lightning, just white circles. In the test_shadow example no shadows with the latest code you pushed. The test_specular has no reflection to show, only an yellow circle. The hoverbike and robot demo are also broken.

Cheers
Michael

MeshTool Crashes on Linux, Cannot Find Resource Files on OS X

When built for OS X, MeshTool is unable to find the resources files needed from the /data folder.

When built for Linux, MeshTool always causes segfault errors when trying to load simple mesh files. I've tried to load Wavefront OBJ files as well as IrrMesh files without success.

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.