José F. Silva Neto
=====================================================

I am a Senior 3D Graphics Engineer at [DGG](https://rapidpipeline.com), creators of RapidPipeline, where I work on
**Twin Studio**, a C++ desktop application for 3D model optimization and rendering built on
[OpenUSD](https://openusd.org), Hydra, MaterialX, and the [MoonRay](https://openmoonray.org) production renderer.
Since October 2025 I also serve as Engineering Lead, coordinating architecture decisions and release planning across development teams.
I received BSc and MSc degrees in Computer Science from [Federal University at Rio Grande do Norte](http://www.ufrn.br/en), advised by professor
[Bruno Motta](https://scholar.google.com.br/citations?hl=en&user=Bgvt9KYAAAAJ&view_op=list_works&sortby=pubdate) working on image segmentation.
During one year, I was also an undergraduate Geophysics student at the same institution.
I am interested in Computer Graphics, Vision and Image Processing applications.
**Contact**: [[email](netolcc06@gmail.com)] [[LinkedIn](https://www.linkedin.com/in/josenetocs/)] [[GitHub](https://github.com/netolcc06)]
Industry Experience
=====================================================
Darmstadt Graphics Group (DGG / RapidPipeline) — 2022–present
--------
**Twin Studio** — core developer of DGG's flagship desktop application for turning CAD and DCC assets into
render-ready 3D models for offline rendering, real-time, web 3D, and AR. Built on C++, Qt, OpenUSD, Hydra, and MaterialX.
Selected work:
- Multithreaded offscreen rendering, including a 360° turntable render pipeline with a dedicated render thread,
shared OpenGL contexts, and careful GPU resource lifecycle management across threads.
- The application's Python scripting layer: an embedded interpreter with an in-app script editor/REPL, and a public
Python API that bridges two binding systems (Shiboken6 and nanobind) through a shared C++ pointer bridge.
- The licensing system end to end: browser-based activation with nonce polling, offline key files, and periodic revalidation.
**RapidPipeline for Unreal** — lead developer of a commercial Unreal Engine 5 plugin for 3D asset optimization:
Slate UI, static and skeletal mesh support, CAD import integration, and an action versioning system.
**DCC pipeline tooling** — developed the [DCC Importer](https://docs.rapidpipeline.com/docs/componentDocs/DccImporter/dcc-importer-overview)
(V-Ray/3ds Max materials to glTF 2.0), used to process hundreds of thousands of production assets; contributed to
Blender plugin development, cloud APIs, and a Babylon.js-based web viewer.
Earlier
--------
Before specializing in graphics tooling, I worked as a backend engineer and tech lead at
[Magnetis](https://magnetis.com.br) (Elixir, core accounting/financial operations) and at First Security Technology AG
(PHP/Symfony, network security), and as a C++ engineer on Motorola's camera engine (night vision team) at Instituto
de Pesquisas Eldorado.
Open Source
=====================================================
**[cvc5](https://cvc5.github.io)** (SMT solver) — WebAssembly/Emscripten builds enabling cvc5 to run in the browser,
an interactive web tutorial executing SMT-LIBv2 examples in-browser, Python/Java API binding improvements, a fix for a
resource-limit infinite loop in the core solver, and CI configuration.
**[Carcara](https://github.com/ufmg-smite/carcara)** (Rust proof checker for SMT proofs) — authored a procedural
macro crate simplifying term-matching across the codebase, plus test coverage for several proof rules.
**[cvc5-monitor](https://monitor-cvc5.stanford.edu/)** — built and operate a Django/Angular benchmarking platform for solver performance, with PAR-2
scoring, multi-source benchmark support, regression tracking, and automated reporting.
Publications
=====================================================
**Learning to dance: A graph convolutional adversarial network to generate realistic dance motions from audio.** João P.Ferreira; Thiago M. Coutinho; Thiago L. Gomes;
**José F. Neto**; Rafael Azevedo; Renato Martins; Erickson R. Nascimento. [[Computers & Graphics](https://arxiv.org/abs/2011.12999)], Vol. 94, February 2021.

_Abstract_: Synthesizing human motion through learning techniques is becoming an increasingly popular approach
to alleviating the requirement of new data capture to produce animations. Learning to move naturally
from music, i.e., to dance, is one of the more complex motions humans often perform effortlessly. Each
dance movement is unique, yet such movements maintain the core characteristics of the dance style.
Most approaches addressing this problem with classical convolutional and recursive neural models undergo training and variability issues due to the non-Euclidean geometry of the motion manifold structure. In this paper, we design a novel method based on graph convolutional networks to tackle the
problem of automatic dance generation from audio information. Our method uses an adversarial learning scheme conditioned on the input music audios to create natural motions preserving the key movements of different music styles. We evaluate our method with three quantitative metrics of generative
methods and a user study. The results suggest that the proposed GCN model outperforms the state-ofthe-art dance generation method conditioned on music in different experiments. Moreover, our graphconvolutional approach is simpler, easier to be trained, and capable of generating more realistic motion styles regarding qualitative and different quantitative metrics. It also presented a visual movement
perceptual quality comparable to real motion data. The dataset and project are publicly available at:
https://www.verlab.dcc.ufmg.br/motion-analysis/cag2020.
**Automatic Fuzzy Segmentation of Textural Images using Adaptive Divergence Affinity Functions.** **_José F. S. Neto_**; *Waldson P. N. Leandro*;
*Matheus Gadelha*; *Tiago S. Santos*; *Bruno M. Carvalho*; *Edgar Garduño*. [[IWSSIP2019](CV/Automatic_Fuzzy_Segmentation_of_Textural_Images_using_Adaptive_Divergence_Affinity_Functions.pdf)].
Presented at 26th International Conference on Systems, Signals and Image Processing, IWSSIP 2019, Osijek, Croatia, June 05-07, 2019.

_Abstract_: Digital image segmentation is the process of assigning distinct labels to different objects in a digital image,
and the fuzzy segmentation algorithm has been successfully used in the segmentation of images from a wide variety of
sources. However, the traditional fuzzy segmentation algorithm fails to segment objects that are characterized by textures
whose patterns cannot be successfully described by simple statistics computed over a very restricted area. In this paper,
we propose an extension of the fuzzy segmentation algorithm that uses adaptive textural affinity functions to perform the
segmentation of such objects on bidimensional images. The adaptive affinity functions compute their appropriate
neighborhood size as they compute the texture descriptors surrounding the seed spels (spatial elements), according to
the characteristics of the texture being processed. The algorithm then segments the image with an appropriate neighborhood
for each object. We performed experiments on mosaic images that were composed using images from the Brodatz database,
and compared our results with the ones produced by a recently published texture segmentation algorithm, showing the
applicability of our method.
-----------------------------------
**Chronic Wound Tissue Classification using Convolutional Networks and Color Space Reduction.** *Vitor Godeiro*; **_José F. S. Neto_**;
*Bruno Motta De Carvalho*; *Julianny Barreto Ferraz*; *Bruno Santana Da Silva*; *Renata Antonaci Gama*. [[MLSP2018](https://ieeexplore.ieee.org/document/8517026)].
Presented at 28th IEEE International Workshop on Machine Learning for Signal Processing, MLSP 2018, Aalborg, Denmark, September 17-20, 2018.

_Abstract_: Chronic Wounds are ulcers presenting a difficult or nearly interrupted cicatrization process, and increase the risk of
complications to the health and well-being of patients, like amputation and infections. The goal of this research is the
development of a general noninvasive methodology for the segmentation and analysis of chronic wounds images by computing the
wound areas affected by necrosis. Invasive techniques are usually used for this calculation, such as manual planimetry with
plastic films. We investigated algorithms to perform the segmentation of wounds as well as the use of several convolutional
networks for classifying tissue as Necrotic, Granulation or Slough. We tested four architectures: U-Net, Segnet, FCN8 and FCN32,
and proposed a color space reduction methodology that increased the reported accuracies, specificities, sensitivities and
Dice coefficients for all 4 networks, achieving very good levels.
-------

**Fuzzy Segmentation of Three-Dimensional Objects with Textural Properties. ** *Master's thesis.*
Extended the [Fast Multi-Object Fuzzy Segmentation](http://www.dimap.ufrn.br/~motta/papers/Carvalho05c.pdf) (FAST-MOFS) algorithm
in order to achieve three-dimensional texture segmentation by employing new affinity functions. Performed experiments
with synthetic and real data obtained from the Multimodal Brain Tumor Segmentation challenge dataset
from the Medical Image Computing and Computer Assisted Intervention (MICCAI) Conference 2012.
-------
**Fuzzy segmentation of video shots using hybrid color spaces and motion information**.
*Bruno M. Carvalho*; *Edgar Garduño*; *Tiago S. Santos*; *Lucas M. Oliveira*; **_José F. S. Neto_**.
[Pattern Analysis and Applications, v. 17, p. 249-264, 2014](https://link.springer.com/article/10.1007/s10044-013-0359-1).

_Abstract_: Video segmentation can be defined as the process of partitioning video into spatio-temporal objects that are
homogeneous in some feature space, with the choice of features being very important to the success of the segmentation
process. Fuzzy segmentation is a semi-automatic region-growing segmentation algorithm that assigns to each element in an
image a grade of membership in an object. In this paper, we propose an extension of the multi-object fuzzy segmentation
algorithm to segment pre-acquired color video shots. The color features are selected from channels belonging to
different color models using two different heuristics: one that uses the correlations between the color channels
to maximize the amount of information used in the segmentation process, and one that chooses the color channels based
on the separation of the clusters formed by the seed spels for all possible color spaces. Motion information is also
incorporated into the segmentation process by making use of dense optical flow maps. We performed experiments on
synthetic videos, with and without noise, as well as on some real videos. The experiments show promising results,
with the segmentations of real videos produced using hybrid color spaces being more accurate than the ones produced
using three other color models. We also show that our method compares favorably to a state-of-the art video segmentation
algorithm.
Side Projects
=====================================================
*Some old projects I tinkered with in my free time. Although they are more like toy projects, they give a good idea of the topics that interest me.*
Eulerian Fluid Simulation
--------

Based on Stable Fluids paper by Jos Stam. It is an [Eulerian approach with semi-lagrangian advection](https://github.com/netolcc06/Sim), but unlike the original paper, the fluid step simulation occurs without swapping buffers. A GPU implementation is coming.
Forward Kinematics
--------

Joints euler angles and positions are taken as input from a bvh file. The [animation](https://github.com/netolcc06/Forward-Kinematics) is then generated by transforming the joints positions using quaternion algebra.
Ray Tracer
--------

It is mandatory for everyone interested in graphics to implement a ray tracer.
This is a C++ implementation based on the new ray tracer guru Peter Shirley's book series.
The implementation covers basic dieletric, diffuse and metal materials. As one could infer from the picture,
refraction and reflection were implemented. Besides that, I added boxes, planes, and triangle meshes structures.
You can check my code at [Baby Ray Tracer](https://github.com/netolcc06/BabyRayTracer). For the future:
Bounding Volume Hierarchies, textures and light emiting objects.