Git Product home page Git Product logo

webaxol / mirroware Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 7.83 MB

Mirroware is an advanced raycasting engine that offers mirrors. You can simulate ray reflections to create fun games and impressive scenes.

License: MIT License

JavaScript 11.57% TypeScript 79.59% CSS 3.38% EJS 5.46%
javascript mirror-effect mirrors optics-simulation pseudo-3d raycasting reflection rendering optics physically-based-rendering

mirroware's Introduction

Hi, I am Gabriel Fuente

  • ๐Ÿ”ญ Iโ€™m currently working on Mirroware

  • ๐ŸŒฑ Iโ€™m currently learning WordPress, AngularJS

  • ๐Ÿ’ฌ Ask me about TypeScript, JavaScript, NodeJS

  • ๐Ÿ“ซ How to reach me [email protected]

  • โšก Fun fact I am left-handed (That ain't funny though)

Languages and Tools:

babel bash bootstrap css3 docker express git html5 javascript jest linux mongodb mysql nodejs php python sass typescript webpack


My Online Certificates

webaxolMy Hackerrank Profile

Webaxol - Hackerrank Profile


mirroware's People

Contributors

webaxol avatar

Stargazers

 avatar

Watchers

 avatar  avatar

mirroware's Issues

Reliability problem regarding the sorting of wall collection elements

The ray casting functions assume that wall collections are sorted by their positions in relation to an axis in ascending order; if new walls are created and added to the collection, there might be the need of re-sorting collections to ensure that the processing order of the algorithms is correct. However, collections are protected so there is no way to directly sort their elements; we might need to make some improvements to CASES.js so that we can sort collections.
Alternatively we could solve the problem by implementing an abstraction layer that solves the problem, such as storing walls in an array inside another object, that provides free access to them; then storing that object at a collection named 'Scene'. The drawback is that more complexity is added, which could affect maintainability and performance.

Vertical mirrors are broken

When a ray has a degree lower than 180, vertical mirrors work fine. However, if rays exceed 180 degrees, the angle of reflection calculated for the resulting ray isn't correct. Horizontal mirrors seem to work with no problem; only horizontal mirrors will be used for now, until vertical ones are fixed.

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.