Giter Site home page Giter Site logo

javaratxiii / raytracerkcl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from roshniashok/raytracerkcl

0.0 2.0 0.0 9.61 MB

A simple Ray Tracer for implementation as a group project in KCL.

C++ 51.11% TeX 31.76% Makefile 12.32% QMake 0.22% Java 4.60%

raytracerkcl's Introduction

RayTracerKCL :

This project is part of the group project that is to be implemented in King's College London.

Ray Tracing is a rendering technique which takes simple 2D objects such as circles, squares or rectangles and produces a 3D rendering of these objects in the form of spheres, cubes, cuboid etc. We have implemented a Raytracer using this raytracing technique.

Middle East group is a group made of 6 members :

  • Roshini Ashokkumar
  • Nandhini Sreekumar
  • Norah Alsuwily
  • Tamanna Qureshi
  • Sara Alotaibi
  • Maryam Yasin

We have used C++ for the implementation of the front and the backend and used QTCreator for the front-end.

Execution Instructions

Have the Project Folder RayTracerKCL stored on your Desktop
So that the Scene.txt will always be saved in the directory:
	C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTracerLinker
	Download debug.zip folder from https://drive.google.com/open?id=1V0J4rM9eGbainumFdVNG4ta_tDBhea0-
		 and libstdc++-6.zip from https://drive.google.com/open?id=10vOvQHX8YaObEu4taB3iXnnelYNlLDhm
		 and extract it into C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTracerLinker directory

From the RayTracerLinker

  1. Go to the directory C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTracerLinker
  2. Double click on the RayTracerLinker jar file
  3. While it running select the Draw Image to run the front end and select the inputs you desire and then hit the save button
  4. After closing the front end select the Render Image button for the backend to render the image 5. Type your desired file width height and name for the image
  5. Return to the C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTracerLinker directory and select the image file of the name you have described

From the Front-End

  1. Install QT
  2. Load QT
  3. Open File
  4. Select the folder RayTraceFrontEnd in C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTraceFrontEnd
  5. Copy all the files into the QT program
  6. Press the run button
  7. Select any values you want for each drop down menu
  8. Press save when happy with the image you want
  9. Go to the C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTracerLinker to view your text file
  10. Then implement the backend following the backend instructions bellow

From the Back-End

  • If you have all the necessary C++ files installed and added to your systems environment variables:

    • Double click on the RayTrace3.exe file in the directory C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTraceBackEnd
  • Otherwise:

  1. Install CodeBlocks
  2. Go to C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTraceBackEnd
  3. Double click on the RayTrace3 project
  4. Wait for it to load up
  5. Click the Build and run button in CodeBlocks
  6. Go back to the folder in C:\Users\YOUR USER NAME\Desktop\RayTracerKCL\RayTraceBackEnd
  7. View the Scene.png picture

raytracerkcl's People

Contributors

javaratxiii avatar maryamy avatar nandhinisreekumar avatar norahalsuwily avatar roshniashok avatar saraaydh avatar

Watchers

 avatar  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.