Currently browsing tag

graphics

cuda2GLCore: CUDA to OpenGL textures

I made a new implementation of the Cuda2GL sample provided in the CUDA Samples by Nvidia. The sample shows how to generate a texture in CUDA and use it in an OpenGL context without copying it to main memory. The original implementation uses Glut and OpenGL immediate mode (Compatibility profile) to draw the resulting texture. The sample …

TriMesh2 Fork – A library for 3D mesh editing and I/O

During my first years in graphics development, I relied heavily on Szymon Rusinkiewicz’s C++ TriMesh2 library. It’s a nice set of tools for 3D mesh input/output, basic visualization and processing. I’ve come to use it in most of my projects. It imports .obj, .3ds and .ply files (amongst others), and puts …

CUDA Voxelizer v0.1

Time to release something that’s been gathering dust on my hard drive for a bit too long: I wrote a CUDA-accelerated voxelizer. It converts polygon meshes into annotated voxel grids. You can download source code and executables on Github. Written in C++ / CUDA Outputs data to .binvox file format …

Libmorton: A library for Morton order encoding / decoding

For my graphics research, I ended up having to encode/decode 3D coordinates into Morton order / Z-order a lot.  For a detailed explanation on how I use them and what they are, check this blog post, which sparked an interesting discussion on the implementation details, and turned out to be a popular …

Ryse: Son Of Rome : ALL THE PIXELS

Being in the graphics research business, I’m still a sucker for a good-looking, show-off game, so I bought Ryse: Son Of Rome on PC. It was a launch title for the Xbox One, and was one of the first game in which Crytek went full-on Physically Based Rendering. There are …

Sparse Voxel Octree Ray Casting: Texture update

After working on the Out Of Core SVO Builder for the last few months (Paper, Github), I did some hacking on my Voxel Raycaster and voxel pipeline so it now supports sampling voxel colors from textures, which allows for some nice rendering. The details: Simple C++ CPU implementation of Voxel Raycasting. …

Real-time Suggestive Contour Rendering

Realized I hadn’t posted this video yet: a couple of months ago, I took a break from the voxels and octrees to redo my Suggestive Contours GPU implementation. My shader-based approach combines the advantages of an object-space method in an image-based approach: It works for high-polycount models Real-time control over …

Out-Of-Core Sparse Voxel Octree Building: Skipping empty space

I’m currently rewriting my Sparse Voxel Octree builder (and the preceding voxelization pipeline) for a paper I’m writing and hoping to submit to the HPG (High Performance Graphics) conference. The goal is to have a total out-of-core pipeline to go from polygon mesh to an annotated SVO. Annotated, as in: …

Sparse Voxel Octree Raycasting: December Progress

After a short venture into suggestive contours, I’m back on my voxel raycaster. I’ve been implementing multiple light sources and phong lighting, as well as drasticly improving the way models are loaded – this allows for even bigger voxel sets to be used. Limiting factor is now my voxelizer itself, …