Currently browsing tag

graphics

RenderOops

I was browsing through an old folder with screenshots from my graphics work, and found some render fails I encountered when haphazardly programming. (Results that make you go: “Interesting, but WRONG”). (Yes, the name of my experimental voxel renderer was “Voxelicious” at one point.)

Visual Studio 2017 OpenGL Project

Since a lot of people ask me how to get started with OpenGL development on Windows using Visual Studio community edition, I made a little project that contains the most basic setup to reduce your TTT™ (Time-To-Triangle™, patent pending). It can be found at https://github.com/Forceflow/opengl_viewer (for lack of a better name) and uses …

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 …