I'm not a developer, can this be useful to me?
Absolutely. Polygonjs has been created for artists in mind. If you don't know how to code, Polygonjs should give you plenty of new powers.
All you have to do is drop nodes and connect them. It's really plug and play, and you always see the result in real time.
This approach has been successful in the visual effects industry for 20 years, it's about time that this becomes available for 3D on the web.
I'm a developer, can I add my own code?
Yes, you can, although this isn't quite ready. While Polygonjs already provides you with a long list of nodes that should give you many means to achieve your project, you may want to do it your way (I'm the same, so I totally get it). In the coming weeks, you'll have 2 APIs to extend Polygonjs:
- The Node API, which will allow you to create your own nodes. You'll be able to use them in the editor, just like any other node.
If I already know Threejs, why would I need Polygonjs?
Threejs is definitely amazing. That's why Polygonjs is based on it. And if you really need (or want) to code, it's an amazing tool.
But the main question is, is it the fastest way to get where you want? Is that fastest way to show a prototype to your client and to polish it? The unfortunate reality with coding is, while you have control, you have to worry about low level functions. It sometimes is difficult to keep bugs and optimizations in mind, when you also need to worry about your app being intuitive and pleasant to use. That's where Polygonjs can be useful to you in many ways:
- Trying different approaches is as simple as creating a few nodes. You can re-order them, update their parameters and see your result in real time. No need to spend time inserting dat.gui in various parts of your code.
- There is a large set of nodes to do most default operations, whether it is creating primitives, modifying attributes, adding materials or importing assets.
- Several debugging tools allow you to quickly find the source of a problem and fix it:
Additionally, there are still problems that are common, but still difficult to solve:
- Instancing geometry: This requires you to create specific attributes and a custom shader, which is delicate to combine with threejs lighting system. It gets even more complicated if you need to have shadows or depth passes for post processing. Polygonjs handles all this for you.
- Creating custom material: Writing glsl is really its own beast. Using our node-based shader editor will save you tons of time, so you don't have to think about low level implementations, like uniforms, attributes and what should be in the vertex or fragment shader.
- Creating particles systems: In order to simulate many particles, you would need to have those simulate on the GPU. This requires to create custom simulation shaders, pre-fill textures, ensure that dependencies between those are organised and finally create a dedicated render material. This is again difficult to setup. Polygonjs also handles all this for you.
Can I try it for free?
Absolutely. There are several ways you can get started, depending on what you prefer:
- The tutorials show you examples with videos, and you can also open the showcased scenes to keep playing with them.
- Some nodes are documented, with examples. Those should be a good start, but all should be documented in the coming weeks.
Can you help me get setup?
Yes, I'd love to. I understand it may take time to go through this documentation, and it's always a pleasure for me to discover new projects. So please don't hesitate to tell me more about what you'd like to achieve. Or even if you simply want to brainstorm, or get some more info about what Polygonjs could help you with. Who knows, this might give you ideas for new directions to explore.
You can reach me on firstname.lastname@example.org.
I have a question not mentioned here, can I get in touch?
Yes, please don't hesitate to contact me. You can reach me on email@example.com.