Most of the basic and complex sdf primitives have been implemented in MagicaCSG, especially with the upcoming general Bezier polygons/polylines and the existing splines and helixes.
Here are some additional features I would like to implement for the first milestone of MagicaCSG:
Local group mirror/mirror blending
Bevel/Hole/Shell/... for all types of groups and primitives.
Better renderer (HD resolution)
Optional ones:
We currently have two types of polygons/polylines: made of straight lines only or made of Bezier lines only. Sometimes, however, we want to mix them and create shapes with both sharp and curved corners.
Therefore, one new feature I'm working on is to allow users to define the continuity for each vertex in a polygon/polyline.
Like in the screenshot, we can connect straight lines with curved Bezier lines to create a single complex shape without Boolean operations. This will expand t...
2025-01-05 12:46:35 +0000 UTC
View Post
Back from the break and continue developing the project.
The features in beta 0.6.1:
Circle Family
Circle family includes three sub types: Arc, Sector and Section.
You can change the portion by Angle.
For Arc type, you can change the thickness by Line Size and the roundness by Bevel.
You can also apply Torus, Revolve and Array ...
2025-01-04 13:29:41 +0000 UTC
View Post
Special thanks to all the dedicated supporters through all these years!
Credit list is attached below and will be added to the program package
(ordered by life-time contribution, including all paid tiers).
Art is a form of communication between the artists and the audiences.
So as the graphics programs, which are created and improved with the efforts from both the programmer and the community.
Your arts and exploration of the features are always the major source ...
2024-11-17 09:12:19 +0000 UTC
View Post
For the prototype tier of this month, the primitives of circle family and chamfer cube will be added to MagicaCSG.
Circle Family
Circle family includes three sub types: Arc, Sector and Section.
For Arc type, you can change the thickness by Line Size and the roundness by Bevel.
You can also apply Torus, Revolve and Array modifiers to them.
Ch...
2024-11-09 01:00:07 +0000 UTC
View Post
----------------------------------------------------
Several improvement and bug fixes have been made in 0.6.0.
You can redownload the program from the last post.
Better Cone/Hole/Round combination.
Optimized Iso-Curved cone mode (see the article below).
Bug fixes for Unicode input of text primitive (only Ascii chars are supported so far).
-----------------------------------------------------
There are several ...
2024-11-06 05:36:35 +0000 UTC
View Post
------------------------------------------
0.6.x is a major update with lots of refactoring and a new shape system.
Please backup your old programs and files before using this version.
Some of the old features are deprecated in order to support advanced new features.
------------------------------------------
Text Shape
I received many suggestions about importing meshes into MagicaCSG for reference.
The rendering engine in MagicaCSG only supports rendering SDF so far, so is it possible?
The answer is yes. Here are some screenshots from my early experiments.
You can choose the import resolution and create instances as well (image 1 and 2).
The current issue is that it's not robust and scalable for hi-res meshes and problematic meshes (non-watertight, non-manifold, etc.) , and it will c...
2024-10-26 11:46:15 +0000 UTC
View Post
Polylines and polygons are unified in the next update with new UIs.
1. they are using the same set of control points.
2. polygons can be convex, concave or self-intersecting.
3. they can be defined by either straight lines or Bezier lines.
4. straight line can also have tapered sizes (including revolve modes).
5. revolved polygons are solid now (revolved curves only have surfaces).
There will be more advanced features in 0.6.x to make more general shapes.
2024-10-19 03:20:27 +0000 UTC
View Post
Updates
You can redownload the updated program from last post.
Settings for array duplications are changed. If you have already used this feature in your projects, you may need to readjust the stroke properties. Sorry for the inconvenience.
Pros of Array Duplication
You are able to apply array/radial duplication to the following primitives in extrude/revolve/torus modes:
Cube
Sphere
Cylinder
Polygon
2D Triangle/Quad
You can find the settings at the bottom of the stroke panel.
You may need to increase the volume resolution to improve the quality when you increase the arra...
2024-10-05 08:00:19 +0000 UTC
View Post
you can choose array or radial array for cube/sphere/cylinder/polygon/triangle shapes.
for radial arrays, you can adjust the repeat count and radius of the copies.
the resize gizmo still adjusts the size of each copy.
It only works for symmetric shapes.
2024-09-29 19:41:35 +0000 UTC
View Post
In the next prototype/beta update, you'll be able to apply array duplication to the following primitives in extrude/revolve/torus modes:
Cube
Sphere
Cylinder
Polygon
2D Triangle/Quad
You'll be able to adjust array size and spacing (percentage of shape size).
Half/Bevel/Hole/... can also be applied to each primitive...
2024-09-20 23:27:38 +0000 UTC
View Post
Recent updates will focus on enhancing the features of existing primitive shapes.
This beta update adds two new modes to the cone property of extruded sdf shapes:
Iso Cone Mode
allows you to create chamfer edges on top and bottom sides of basic primitives.
Local Z Mirror is also supported.
Note that Cone and Hole can be used together now (before only ...
2024-09-07 00:46:25 +0000 UTC
View Post
This new mode allows you to make the cone edges C1 smooth at top and bottom sides.
It can work with the new iso cone mode as well.
It's good for creating something like pumpkins or buttons, etc.
2024-08-30 16:00:04 +0000 UTC
View Post
New Iso Cone Mode allows you to create chamfer edges on top and bottom sides of basic primitives.
Local Z Mirror is also supported.
Note that Cone and Hole can be used together now (before only one can be enabled at one time).
It's good for creating hard surface objects.
2024-08-24 13:43:45 +0000 UTC
View Post
Bevel defines the inflating distance from the silhouette of texts, so it can be used to create outline effects.
Round is similar but will also round up the edges along z axis.
Torus mode can be used to create Neo signs. If the text is not in a separate object, then you need to use A/B material to assign an emissive material to the text primitives.
2024-08-15 10:47:15 +0000 UTC
View Post
First Demo of the 3D SDF Text Tool!!!
The following features are demonstrated in this video:
This feature will be first updated in the prototype tier of this month.
2024-08-10 13:12:37 +0000 UTC
View Post
This update includes a new blend mode and some improvements for subgroups.
Avoid Blend Mode
a new blending mode besides Groove Blend.
This blend mode is basically a soft subtraction, followed by a hard union, but it avoids duplication of strokes and computations.
It can be applied to Union and Subtract Boolean operations (the difference is which object is softly subtracted.)
Inflate ...
2024-08-10 12:20:38 +0000 UTC
View Post
A new prototype feature is under development: 3D SDF of Glyphs.
The new tool is able to convert the input text into sdf primitives that can be blended and boolean operated with other standard primitives. It also supports extrude and torus modes.
The algorithm is so far still brute force, so may not be efficient for scenes with lots of characters and curved edges (e.g., the character "@" includes around 40 bezier curves).
The alphabet is also limited to ...
2024-08-03 09:05:10 +0000 UTC
View Post
This update is already available for prototype users. The download link can be found in the last post.
Avoid Blend is a new blending mode besides Groove Blend.
This blend mode is basically a soft subtraction, followed by a hard union, but it avoids duplication of strokes and computations.
It can be applied to Union and Subtract Boolean operations (the difference is which object is softly subtracted.)
2024-07-21 17:54:04 +0000 UTC
View Post
There are two new properties for subgroups:
Passthrough
The default subgroup first blends the strokes locally within the group, and then blends the group with previous strokes.
Passthrough mode basically blends the strokes in the normal order as there is no subgroup there (while you can still operate the group of strokes as a compound object).
Overridden
Overridden mode overrides the contained strokes with the subgroup's o...
2024-07-13 17:41:56 +0000 UTC
View Post
Subgroup
You can group/ungroup the strokes via the stroke list menu.
You can also group groups of strokes (up to 4 levels).
Select/Transform/Duplicate/Delete/Hide a group will be applied to all the grouped strokes.
The group has its own Boolean mode and blending options (blending factor, chamfer, opacity, etc.), which treats the grouped strokes as a compound stroke.
Boolean operations within a group are localized...
2024-07-06 22:47:11 +0000 UTC
View Post
New Group Properties and Blending Modes
After the beta versions for the Subgroups, I'll begin to add more options for group properties and developed some new advanced blending options (e.g., Avoid mode in the image). Some of them are very useful, while some are very expensive and complicated.
These features will take some time and I may update them incrementally in the Prototype version before the stable Beta version. We may need a new interface for Blending as we...
2024-06-29 05:04:10 +0000 UTC
View Post
These features have been updated for Prototype tier users (You can redownload the program).
There are some updates and bug fixes for the subgroup boolean to make it more convenient to use:
I developed a new dragging method in the stoke list to make organizing the subgroup hierarchy more convenient.
You can move strokes around by pressing one of the selected strokes, and then drag and drop them to another location.
You can move one or multiple strokes/groups all together, and they can belong to different groups or group levels.
When dropping the strokes, you can determine at which group level you want to insert the moved strokes. (The...
2024-06-07 22:51:36 +0000 UTC
View Post
This is the first demo of the upcoming prototype.
You can group/ungroup the strokes via the stroke list menu.
You can also group groups of strokes (up to 4 levels).
Select/Transform/Duplicate/Delete/Hide a group will be applied to all the grouped strokes.
The group has its own Boolean mode and blending options (blending factor, chamfer, opacity, etc.), which treats the grouped strokes as a compound stroke.
Boolean ...
2024-06-01 10:50:03 +0000 UTC
View Post
Some more spline modifiers in this update:
Looped Spline
clicked the "Loop" button on the top bar to make the first and last end points of a spline connected (supported in both continuous and discrete modes).
Capped Spline
Turn on "Curved Boundary" for "Cylinder" profile to enable this option.
The capped cylinder spline is basically a special case of el...
2024-05-18 16:22:22 +0000 UTC
View Post
[Teaser Images are made by Mikko, Denis Novikov, Metin, DrPix3lz and DMW]
You can find the download link and feature comparison between demo and beta versions on the homepage:
MagicaCSG (ephtracy.github.io)
The Demo version is mainly for testing purposes and non-commercial usages, and it doesn't have the latest advance features.
You can check the system co...
2024-05-04 07:42:42 +0000 UTC
View Post
Turn on "Curved Boundary" to enable this option.
The capped cylinder spline is basically a special case of ellipsoid sweep spline, which can be subtracted by other primitives with large blending factor or groove blending just like the sphere spline.
(cube, cylinder, hexagon, triangle sweep splines can only be "unioned" but not "subtracted" with large blending factor or groove blending)
It can be used for more flexible profile control than sphe...
2024-04-30 01:25:59 +0000 UTC
View Post