José F. Silva Neto ===================================================== ![ ](pics/me-madrid.jpg width="20%") 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. ![ ](pics/ltd-gcn.PNG width="55%") _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. ![ ](pics/clusters_.png width="40%") _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. ![ ](pics/classification01-min.jpg width="35%") _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. ------- ![ ](pics/mdissert.jpg width="20%") **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). ![ ](CV/plane2.gif width="40%") _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 -------- ![ ](pics/fixedSource.gif width="30%") 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 -------- ![ ](CV/quat_.gif width="40%") 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 -------- ![ ](pics/spheres.jpg width="40%") 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.