Skip to content
/ DiPTeR Public

DiPTeR is a tool to create procedurally generated textures that are fully differentiable.

Notifications You must be signed in to change notification settings

Zorobay/DiPTeR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiPTeR - Differentiable Procedural Texture Renderer

DiPTer is a framework for creating procedurally generated textures that are fully differentiable. It features a differentiable renderer specialized in procedural textures implemented in PyTorch and a graphical interface, including a node editor, implemented using PyQt5. DiPTeR's main feature however, is a parameter estimation tool that lets users automatically estimate parameter values of a procedural texture model, based on an input target texture.

This project was created as part of my master thesis.

Image of DiPTeR main interface

Parameter Estimation

The parameter estimation algorithm uses gradient descent and loss functions to minimize the difference between a user input image and the output of a user designed procedural texture.

Gif of parameter estimation

Setup

Install dependencies

Python dependencies can be installed from the environment.yml file using conda. However, I've had problems installing from this format before, so as an alternative, install from the env.txt file instead using conda env create --file env.txt.

Glumpy and freetype

In order for glumpy to work, freetype is needed. To install it on Windows, you can download the freetype.dll from HERE. You then need to set the FT_Library_filename variable in glumpy/ext/freetype /__init__.py to point to this .dll...

For Anaconda users, this folder is usually located in C:/Users/<username>/<Anaconda3 or miniconda3>/envs/DiPTer/Lib/site-packages

About

DiPTeR is a tool to create procedurally generated textures that are fully differentiable.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published