Coder Social home page Coder Social logo

pyx61198 / volume_rendering Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ftzzy/volume_rendering

0.0 0.0 0.0 17.75 MB

WebGL volume rendering

License: Creative Commons Attribution Share Alike 4.0 International

HTML 12.90% JavaScript 87.10%

volume_rendering's Introduction

Volume Rendering

I completed my internship at Interactive Network Technologies (INT) with Vincent Dumestre. Our first mission was to accomplish a volume rendering with WebGL and Three.js. They agreed to publish this part under LICENSE.

USE

If you want to test our program you just need to download this repository.

$ git clone https://github.com/FtZzy/volume-rendering.git

Open index.html with your favorite browser. However, your browser has to support WebGL.

Actually you see:

  • a fps monitor
  • a button to choose a file
  • a GUI controller
  • a black screen

The monitor displays the fps by default. You can have the ping, the allocated memory or custom informations if you click on it.

Monitor screeshots

Next, you have to load a file! Before that please unzip data.zip and the file 'velocity'. With the first button choose velocity in the directory data and select 'Load'. Wait a couple of seconds and a cube will appear. You can move the object or zoom with the mouse.

Load file

Finally, we get the Graphical User Interface (GUI). The GUI controller represents the transfer function: you can change number of steps (higher is the number better is the result, but lower are the fps), the alpha correction that change the general opacity, the colors, their relative transparency and position. The position allows to display values more than others (the colors are linear between two). You can show or hide the panel with h.

GUI Volume rendering Volume rendering

DATA

For the moment it just works with one data format: that of velocity. If you want change it you have to modify LoadFile.js.

TODO

  1. Improve actual result
  2. Do a depth buffer
  3. Add lights
  4. Change LoadFile.js
  5. Hide colors inside the cube
  6. Make it nicer

Bibliography

LICENSE

Copyright (c) 2017 Interactive Network Technologies

volume_rendering's People

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.