Discover easyshader, the intuitive SDF library that simplifies 3D design with minimal syntax. Craft intricate shapes, apply smooth transformations, and export your creations for 3D printing effortlessly. Whether you're a hobbyist or a pro, unleash your creativity in 3D with powerful tools at your fingertips.
easyshader is a powerful and user-friendly library designed for rendering stunning 3D scenes and creating animations with ease. Utilizing Signed Distance Fields (SDFs) and built in Python with Taichi, easyshader enables you to draw intricate 3D shapes using an intuitive and concise syntax.
Key Features:
-
Diverse 3D Primitives: Easily create various 3D objects such as Boxes, Spheres, Icosahedrons, and more with just a few lines of code. Here are some examples:
from easyshader import * Sphere(1) Icosahedron(1, '#f55')
-
Smooth Operators & Transformations: Utilize advanced operations such as union, intersection, and difference, allowing for sophisticated designs without complex arithmetic.
BoxFrame(1, .1, '#0B4F6C') + Sphere(.5, '#B80C09') # Union Box(1, '#0B4F6C') - Sphere(1.2) # Difference Icosahedron(1, '#0B4F6C') & Sphere(1.1) # Intersection
-
Export to .ply Format: Seamlessly export your 3D models for use in Blender or for 3D printing, giving you the flexibility to take your creations into other applications:
Icosahedron(1).to_mesh(simplify=20, save_path='icosahedron.obj')
-
Animation Creation: Control 'time' in your designs to create dynamic animations effortlessly.
x = BoxFrame(1, .1, 'palette(6*t + 6*(x+y+z))', palette=palette) x.animate(frames=60, framerate=15, iterations=1000)
-
Custom Function Integration: Extend the library by implementing your own Taichi functions, giving you limitless possibilities for 3D rendering.
@ti.func def mandelbulb_fn(p, max_it, k): # Custom logic here...
Getting Started
With easyshader, achieving cutting-edge visuals is just a few lines away, whether for personal projects or larger production needs. Dive into the world of 3D rendering with easyshader today and unleash your creativity!