Life & fun · alternatives · 2026
24 alternatives to Reverse perspective camera for OpenGL (Three.js)
I've extended the standard OpenGL camera to allow smooth transition between normal perspective, orthographic, and reverse perspective projection. To demonstrate the effect, I built a demo using Three.js. Reverse perspective can feel a bit disorienting at first, but this demo is meant to highlight a few of its interesting advantages: 1. An extended Dolly zoom effect. https://en.wikipedia.org/wiki/Dolly_zoom You can think of it as an extrapolation of the classic Dolly zoom into negative space. It produces a cinematic sense of vertigo or sudden insight, and also lets you…
This is a Three.js camera extension that enables smooth transitions between standard perspective, orthographic, and reverse perspective projection modes. It's designed for developers and creative technologists working… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.
- 1

2021 · victorribeiro.com · its alternatives →
- 2

How can you make affine transformations (the only ones SVGs are capable of) resemble perspective transformations?
2025 · seve.blog · its alternatives →
- 3

A powerful JavaScript library for creating interactive 360-degree product views - scaleflex/cloudimage-360-view
2019 · github.com · its alternatives →
- 4

I'm the co-creator and maintainer of https://aframe.io/ and long time Web 3D graphics dev. Super excited about new techniques to author / render / represent 3D. Spark is a an open source library to easily integrate Gaussian splats in your THREE.js scene I worked with some friends and I hope you find useful. Looking forward to hearing what features / rendering techniques you would love to see next.
2025 · sparkjs.dev · its alternatives →
- 5
360° image maker▲183Build 360° view images with 2 lines of JavaScript code 🏞
2019 · github.com · its alternatives →
- 6

The latest 3Blue1Brown video [1] about the M. C. Escher print gallery effect inspired me to re-implement the effect as WebGL fragment shader on my own. [1]: https://www.youtube.com/watch?v=ldxFjLJ3rVY
Apr 2026 · static.laszlokorte.de · its alternatives →
- 7

- 8RT
2023 · antimatter15.com · its alternatives →
- 9OI
Things orbital and not.
2016 · orbides.org · its alternatives →
- 10

It's been closed source for a long time while I worked on it on and off as a hobby research project, but yesterday the repo was made public for the first time under the MPL 2.0 license. A feature reel showing its capabilities can be found here: https://ktstephano.github.io/rendering/stratusgfx/feature_re... A technical breakdown of a single frame can be found here: https://ktstephano.github.io/rendering/stratusgfx/frame_anal... It's still in a very beta state (bugs and instability expected), but I felt like it was a good time to make it…
2023 · github.com · its alternatives →
- 11

Renders black hole gravitational lensing effects in an image canvas using WebGL, glfx.js, and numeric.js - cliffcrosland/black-hole.js
2015 · github.com · its alternatives →
- 12

Rule-of-Thirds & more for any aspect ratio
2024 · behindthefilm.com · its alternatives →
- 13

I've been going through Cem Yuksel's "Introduction to Computer Graphics" course and thought that writing a volume renderer would be a good way to test my knowledge. It is a common technique used to render 3D medical data. Works by ray marching a specific step size, reading a 3D texture (e.g. MRI data), and calculating opacity values. Code should be easy to get started with for anyone familiar with the JS ecosystem. Questions for the HN community: I spent 20-25% of the entire time just setting up the project and fighting issues with the JavaScript ecosystem. This experience has made me…
2024 · github.com · its alternatives →
- 14IC
Hi! This is an infinite canvas note-taking tool where notes are laid out in a non-Euclidean, hyperbolic geometric space. As you drag and navigate through the view, you’ll experience a unique fluid distortion that naturally leverages your brain's spatial memory. I’ve been obsessed with the concept of space in HCI for years. Many modern UI patterns are essentially workarounds for the lack of screen real estate. While researching zoom-based UIs a while back, I stumbled upon old HCI papers that used the Poincaré disk model of the hyperbolic plane to organize data. It elegantly projects an…
Jun 2026 · uonr.github.io · its alternatives →
- 15

I made a GLSL shader that bends 3D space using a 4D hypersphere projection. The idea: 1. Project a model onto a 4D sphere 2. Rotate the sphere 3. Project the model back to 3D Code and details: https://github.com/bntre/CurvedSpaceShader Curious what you think.
2025 · github.com · its alternatives →
- 16

Reproduce parallax effect for an user whose point of view is tracked by a camera - VincentLefevre/3D-parallax
2021 · github.com · its alternatives →
- 17IE
2017 · mjmdavis.com · its alternatives →
- 18

A helpful Chrome extension for WebGL development. Contribute to 3Dparallax/insight development by creating an account on GitHub.
2016 · github.com · its alternatives →
- 19
Particular Drift▲140Create flowing particle animations out of any image (FOSS)
2025 · collidingscopes.github.io · its alternatives →
- 20

Beautiful effects crafted from optically captured elements.
2015 · lensdistortions.com · its alternatives →
- 21MJ
2014 · peeinears.github.io · its alternatives →
- 22

Algorithms simulate the effect of a real glass lens
2017 · apps.apple.com · its alternatives →
- 23

- 243R
2020 · ahuth.github.io · its alternatives →
Also compare
- Giving a 2D grid a 3D look – part 4 alternatives
- I made a 3D SVG Renderer that projects textures without rasterization alternatives
- JavaScript plugin to build 360-degree images alternatives
- Spark, An advanced 3D Gaussian Splatting renderer for Three.js alternatives
- 360° image maker alternatives
- M. C. Escher spiral in WebGL inspired by 3Blue1Brown alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →