<br> [Home](../index.html) > Mods Axis Designer --- ## Frep GPU Volume Renderer I implemented an frep volume renderer using GSLS shaders in Mods. ### First Trial <a href="../Mods/Program_view frep volume renderer.js" download>Here is an example of an frep program in Mods.</a> <br></br> - Mods Program: <br></br> <img src='img/3.jpg' width="80%"> <br></br> - Height Map Shading: <br></br> <img src='img/1.jpg' width="80%"> <br></br> - Slice: <br></br> <img src='img/2.jpg' width="80%"> <br></br> ### Rendering and Visualization Then, the next step was to improve the visualization and rendering styles. Here is a preview of what is implemented so far. <img src='img/renderingstyles.gif' width="40%"> <img src='img/torusShading.gif' width="44%"> - Height Map - Density (XRay) - Surface Normals - [Lambertian Shading](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading) - [Specular Reflections](https://www.alanzucconi.com/2016/07/01/surface-shading/) - Variable Lighting ### Mods Mini Viewer <img src='img/mods_mini_viewer.gif' width="70%"> ### Axes and Grid Helper I added a grid helper and axis to help with scale and orientation while designing. <br></br><img src='img/grid.png' width="50%"> ### Adaptive Rendering <img src='img/adaptive.gif' width="50%"> ### Handling Complexity By separating the calculation and the lighting calculation into two different shaders I was able to drastically improve the zoom/pan performance for complex models. <br> </br> <img src='img/axesFinal.gif' width="70%"> <br> </br> ### Future Steps - Parse expressions as trees - Remove duplicate expressions (tree pruning) - Use bounding boxes to optimize rendering of systems and assemblies - Animation Pipeline