Cached at:
06/25/26, 03:14 PM
**TL;DR:** A traditional oil painter created a workflow to texture 3D objects with real oil paint by using a live camera to capture the painting on a physical canvas and mapping it onto a 3D model. He open-sourced the tool "Bob Jack Painter".
## Hand-painted 3D Art: From Digital to Traditional
Hand-painted 3D art is a style where digital objects look hand-painted rather than 3D. Typically, coloring objects in this style is entirely digital—artists use programs like Blender to paint directly on the digital model. But supporters of traditional media may want to use physical materials like oil paint. However, due to the convenience of digital methods, few actually do it. That is, until a stubborn traditional artist decided to challenge the workflow.
This article describes how he achieved real‑time mapping of oil-painted textures onto a 3D model using his own custom application, thereby completing 3D texturing with hand-painted oil paint.
## 3D Model & Texture Basics
### Triangles & Rendering
Most 3D models consist of many flat triangular surfaces, which are mathematically combined to appear as smooth curves. Graphics cards are good at quickly calculating the vertex positions of triangles in screen space and filling the pixels inside them (i.e., rendering). If only a single color is used, triangles look flat.
### How Texture Mapping Works
Graphics cards can also warp images efficiently. By replacing each triangle with a rotated and cropped image (texture), rich detail can be added to the model. The render engine uses a UV map to specify which area of the texture corresponds to each triangle: the UV map is a flat layout where each triangle points to a sub‑region of the texture. During rendering, the engine cuts the triangle from the texture and pastes it onto the corresponding triangle on the model. The key point is that a 3D object is textured via a single flat image, which conveniently resembles how oil painting is done.
## Challenges of Realizing Traditional Oil Paint Texturing
To create an oil paint texture, the simplest method is: print the UV map, paint on it, then take a photo to map the image back to the model. But this method has a serious flaw—you cannot preview how the painting will look wrapped on the 3D model while painting. If you discover a mismatch only after the paint dries, corrections are extremely difficult (oil paint takes a long time to dry). Therefore, the author needed a workflow that could show the painting mapped onto the model in real time.
## Building a Real‑time Texture System: Three Phases
### Phase 1: Real‑time Camera Stream
Webcams have been mature hardware since 1993. On modern devices, capturing a video stream takes just a few lines of code. The author emphasizes webcam privacy concerns and suggests buying a lens cap if no physical cover is used. This step is solved.
### Phase 2: Correcting the Camera Frame
The camera may not be directly facing the canvas, causing texture distortion or background interference. Correction is needed: first, mark the four corners of the canvas with a color not present in the painting; then measure the centroid of these markers in the camera image; finally, apply a perspective transform to stretch the canvas area to the full image size. This simple method is enough to obtain stable corner positions, aligning the canvas image with the UV map.
### Phase 3: Real‑time Rendering & Display
The author chose to write his own dedicated render engine instead of using well‑known tools like Blender, Unity, or Unreal Engine (which are not suitable for reading and correcting a live video feed at runtime). He developed the "Bob Jack Painter" application using C++ and the Vulkan graphics API. The app can load a model, set corner detection colors, display the corrected camera source in real time, and wrap the texture onto the model. With just a button press, you can see the immediate effect of hand‑painted paint on the 3D model.
## Results & Open Source
In the end, the author successfully textured a 3D model using oil paint. While this process is less practical than purely digital methods, it opens new possibilities for artists who insist on traditional media—for example, creating physical textures that are hard to achieve digitally. The author open‑sourced Bob Jack Painter and provided a Windows release link (see GitHub repository). He also shared short video clips of the project’s creation process on TikTok and Instagram.
> I hope this video inspires you to create your own 3D model using traditional methods. I’d love to see what you can make with this system.
## Source Video
Can I texture 3D objects with oil paint? (https://www.youtube.com/watch?v=fdI1ZJtAJmI) — Discussion on Lobste.rs