Skip to content

Caleb598/Rendermagic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rendermagic - Basic Render Engine

Rendermagic Logo

Rendermagic is a rendering program that generates high-quality photorealistic 3D images in a speedy amount of time. Some of the big features implemented into Rendermagic are physically based rendering (PBR), global illumination and real-time ray tracing. Rendermagic includes several core components: an interface for scene setup and interaction, a basic modeling system, a basic shading system, a basic animation system, and a basic rendering system. This README will guide you through the key features and usage of Rendermagic.

Table of Contents

Getting Started

To get started with Rendermagic, follow these steps:

  1. Clone the repository: git clone https://github.com/yourusername/rendermagic.git
  2. Navigate to the Rendermagic directory: cd rendermagic
  3. Compile or set up the project as per the provided instructions.
  4. Start creating and rendering your 3D scenes!

Interface

Rendermagic provides a user-friendly interface to set up scenes, add objects, and configure various rendering parameters. The interface allows you to:

  • Create a new scene.
  • Add and position 3D models in the scene.
  • Configure camera settings such as position, orientation, and field of view.
  • Set up lighting conditions.
  • Specify rendering options like resolution and quality.

Modeling System

Rendermagic includes a basic modeling system that lets you create simple 3D models. You can define vertices, edges, and faces to construct objects. While the modeling system is limited in complexity, it serves as a foundation for more advanced applications.

Shading System

The shading system enables you to apply basic materials to your models. You can specify colors, textures, and shading properties for different parts of your models. Rendermagic supports basic shading models such as Lambertian and Phong shading.

Animation System

Rendermagic's animation system allows you to create basic animations by specifying keyframes for object transformations. You can define translation, rotation, and scaling over time to achieve simple object animations.

Rendering System

The rendering system in Rendermagic converts your scene, models, and materials into rendered images. It employs a basic rendering pipeline that includes vertex transformation, primitive assembly, shading, and rasterization. While not as feature-rich as advanced renderers, it provides a foundation for understanding rendering concepts.

Examples

Rendermagic comes with a set of example scenes and models to help you understand how to use each component. These examples cover scene setup, model creation, shading application, animation setup, and rendering. Study these examples to kick-start your understanding of the render engine.

Contributing

We welcome contributions to Rendermagic! If you find bugs, want to add features, or improve documentation, feel free to fork this repository, make your changes, and submit a pull request. Please ensure you adhere to our code of conduct.

License

Rendermagic is licensed under the GNU License. You are free to use, modify, and distribute this software for your purposes. Attribution is appreciated but not required.


We hope Rendermagic serves as a helpful tool for understanding the basics of rendering. Rendermagic is powerful, efficient and easy to use. While it may not be as powerful as professional renderers, it provides a platform to experiment and learn. If you have any questions, issues, or suggestions, please don't hesitate to reach out to us. Happy rendering!

About

Basic render engine written in C++

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages