Skip to content

The next generation vector paint program.

License

Notifications You must be signed in to change notification settings

ShenCiao/Ciallo

Repository files navigation

Ciallo ~(∠・ω< )⌒★!

Tutorial → Very detailed technical description with interactive code blocks.

SIGGRAPH 2024 Paper 🔴 SIGGRAPH 2024 Talk

SIGGRAPH 2023 Talk (Paper) (Presentation) | Demo (Web) (Video) | Blender Implementation (WIP)

Introduction

This research project, titled Ciallo: GPU-Accelerated Rendering of Vector Brush Strokes is published in SIGGRAPH 2024 as a conference-track technical paper. Its draft version, titled Ciallo: The next-generation vector paint program is published in the SIGGRAPH 2023 Talk. The techniques demonstrated in this project have been anticipated by our community for almost two decades.

A web demo to showcase the stroke rendering technique.

The name "Ciallo" is the combination of the Italian "Ciao" and English "Hello", comes from the video game Sabbat of the Witch developed by Yuzusoft.

The project is greatly inspired by Blender Grease Pencil. To offer a free open-source industrial-level paint program, Shen Ciao will integrate the stroke rendering methods into the grease pencil.

The final version of the paper, and its draft version (two-page abstract). The research was presented at the SIGGRAPH 2023 Conference on Thursday, 10 August 2023 (video), and at the SIGGRAPH 2024 Conference on Monday, 29 July 2024 (video) in Vector Graphics session.

Drawn in Ciallo

To be drawn in the future

Ciallo2024 Ciallo2023

SIGGRAPH 2024 Technical Paper (Conference Track)

@inproceedings{10.1145/3641519.3657418,
   author = {Ciao, Shen and Guan, Zhongyue and Liu, Qianxi and Wei, Li-Yi and Wang, Zeyu},
   title = {Ciallo: GPU-Accelerated Rendering of Vector Brush Strokes},
   year = {2024},
   isbn = {9798400705250},
   publisher = {Association for Computing Machinery},
   address = {New York, NY, USA},
   url = {https://doi.org/10.1145/3641519.3657418},
   doi = {10.1145/3641519.3657418},
   booktitle = {ACM SIGGRAPH 2024 Conference Papers},
   articleno = {3},
   numpages = {11},
   keywords = {brush stroke rendering, digital painting, vector graphics},
   location = {Denver, CO, USA},
   series = {SIGGRAPH '24}
}

SIGGRAPH 2023 Talk

@inproceedings{Ciallo,
   author = {Ciao, Shen and Wei, Li-Yi},
   title = {Ciallo: The next-Generation Vector Paint Program},
   year = {2023},
   isbn = {9798400701436},
   publisher = {Association for Computing Machinery},
   address = {New York, NY, USA},
   url = {https://doi.org/10.1145/3587421.3595418},
   doi = {10.1145/3587421.3595418},
   booktitle = {ACM SIGGRAPH 2023 Talks},
   articleno = {67},
   numpages = {2},
   keywords = {Digital painting, stylized stroke, arrangement, vector graphics. coloring, graphics processing unit (GPU)},
   location = {Los Angeles, CA, USA},
   series = {SIGGRAPH '23}
}

Core Features

GPU-rendered Brushes

Render stylized strokes on vector lines using Graphic Processing Unit (GPU).

Existing vector paint software restricts the type of brushes available and tends to be laggy - our program enables rendering of most digital brushes with unprecedented efficiency.

Check out the tutorial if you are interested in the rendering technique.

naiive brush engine

Vanilla Airbrush
Pencil Splatter

Vector Fill

The positions to fill color are vectorized as the color markers. The markers are similar to regular vector lines. Artists can freely transform and deform them, and the filled areas will be updated in real-time.

vectorFillDemo

Markers and lines Markers, lines and fills Lines and fills

Curve binding

binding

Trinity!

Each feature individually do not make a big change for artists, until we combine them together!

trinity

About the Future

The project began with a clownish plan. Shen thought he could turn himself into a GPT model which can produce thousands of lines of code per day, several months later, he would get a medium-large paint program that can produce serious 2D content. But it quickly turns out the actual pace is two orders of magnitude slower than the initial plan.

Shen will integrate the techniques into the Blender Grease Pencil to provide an free open-source industrial level paint program for artists.

If this project get concerns by computer graphics community or someone is willing to sponsor, Shen will make a series of tutorial videos about the stroke rendering.

You may have already found several novel features that we never mentioned in the research paper. They will be published in the future.

How to Compile

Windows

  • Pull vcpkg and integrate.
  • Pull the codebase and run Ciallo/Ciallo.sln with visual studio.

External Dependencies

  • Rendering
    • OpenGL
  • GUI
    • Dear ImGui
    • ImPlot
  • Coding Patterns
    • Entt - ECS and event system
  • Geometry and algebra
    • CGAL
    • GLM
    • dlib - For curve fitting

About

The next generation vector paint program.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published