bspassov + graphics   436

Imperfect Environment Maps - 22 Racing Series -
In 22 our lighting environment is dominated by sunlight, however there are many small emissive elements everywhere. What we want is for all these bright sunlit metal panels and the many emissive surfaces to be reflected off the vehicles. Being a high speed racing game, we need a technique with minimal performance impacts, and at the same time, we would like to avoid large baked data sets in order to support easy track editing within the game.
graphics  programming  gamedev 
4 weeks ago by bspassov
Posts | Jendrik Illner - 3D Programmer
Weekly collections of articles on computer graphics
graphics  programming  blog 
7 weeks ago by bspassov
The Unreasonable Effectiveness of Quasirandom Sequences | Extreme Learning
How to construct a new class of low discrepancy quasirandom sequences that improve on existing methods, such as the Halton, Sobol and Neiderreiter.
graphics  algorithm 
11 weeks ago by bspassov
GitHub - prideout/clumpy: generate and transform numpy images from the command line
This tool can manipulate or generate large swaths of image data stored in numpy files. It's a sandbox for implementing operations in C++ that are either slow or non-existent in pillow, scikit-image, or the SciPy ecosystem.
tool  graphics 
july 2018 by bspassov
High-Performance Procedural Noise using a Histogram-Preserving Blending Operator -Eric Heitz
Abstract: We propose a new by-example noise algorithm that takes as input a small example of a stochastic texture and synthesizes an infinite output with the same appearance. It works on any kind of random-phase inputs as well as on many non-random-phase inputs that are stochastic and non-periodic, typically natural textures such as moss, granite, sand, bark, etc. Our algorithm achieves high-quality results comparable to state-of-the-art procedural-noise techniques but is more than 20 times faster.
paper  graphics  procedural_generation 
july 2018 by bspassov
Spectral Remapping for Image Downscaling
Abstract: We present an image downscaling technique capable of appropriately representing high-frequency structured patterns. Our method breaks conventional wisdom in sampling theory—instead of discarding high-frequency information to avoid aliasing, it controls aliasing by remapping such information to the representable range of the downsampled spectrum. The resulting images provide more faithful representations of their original counterparts, retaining visually-important details that would otherwise be lost. Our technique can be used with any resampling method and works for both natural and synthetic images. We demonstrate its effectiveness on a large number of images downscaled in combination with various resampling strategies. By providing an alternative solution for a long-standing problem, our method opens up new possibilities for image processing.
paper  graphics 
june 2018 by bspassov
Water Surface Wavelets
The current state of the art in real-time two-dimensional water wave simulation requires developers to choose between efficient Fourier-based methods, which lack interactions with moving obstacles, and finite-difference or finite element methods, which handle environmental interactions but are significantly more expensive. This paper attempts to bridge this long-standing gap between complexity and performance, by proposing a new wave simulation method that can faithfully simulate wave interactions with moving obstacles in real time while simultaneously preserving minute details and accommodating very large simulation domains.

Previous methods for simulating 2D water waves directly compute the change in height of the water surface, a strategy which imposes limitations based on the CFL condition (fast moving waves require small time steps) and Nyquist’s limit (small wave details require closely-spaced simulation variables). This paper proposes a novel wavelet transformation that discretizes the liquid motion in terms of amplitude-like functions that vary over {\em space, frequency, and direction}, effectively generalizing Fourier-based methods to handle local interactions. Because these new variables change much more slowly over space than the original water height function, our change of variables drastically reduces the limitations of the CFL condition and Nyquist limit, allowing us to simulate highly detailed water waves at very large visual resolutions. Our discretization is amenable to fast summation and easy to parallelize. We also present basic extensions like pre-computed wave paths and two-way solid fluid coupling. Finally, we argue that our discretization provides a convenient set of variables for artistic manipulation, which we illustrate with a novel wave-painting interface.
graphics  paper  algorithm  simulation 
may 2018 by bspassov
Shadow Map Silhouette Revectorization (SMSR) | Vladimir Bondarev
Shadow Map Silhouette Recevorization (SMSR) is a filtering technique which re-approximates shadow silhouette based on MLAA implementation for GPU. SMSR consists of two main passes. First pass searches for discontinuity information.
graphics  paper 
april 2018 by bspassov
Efficient rendering (mostly blurring) on mobile gpus
presentation  graphics 
april 2018 by bspassov
Combining Analytic Direct Illumination and Stochastic Shadows

In this paper, we propose a ratio estimator of the direct-illumination equation that allows us to combine analytic illumination techniques with stochastic raytraced shadows while maintaining correctness. Our main contribution is to show that the shadowed illumination can be split into the product of the unshadowed illumination and the illumination-weighted shadow. These terms can be computed separately — possibly using different techniques — without affecting the exactness of the final result given by their product.

This formulation broadens the utility of analytic illumination techniques to raytracing applications, where they were hitherto avoided because they did not incorporate shadows. We use such methods to obtain sharp and noise-free shading in the unshadowed-illumination image and we compute the weighted-shadow image with stochastic raytracing. The advantage of restricting stochastic evaluation to the weighted-shadow image is that the final result exhibits noise only in the shadows. Furthermore, we denoise shadows separately from illumination so that even aggressive denoising only overblurs shadows, while high-frequency shading details (textures, normal maps, etc.) are preserved.
programming  graphics  paper 
april 2018 by bspassov
FacedownFX Slate Editor
Tool for generating flipbooks, supports motion vector generation and custom GLSL shader based filters.
graphics  gamedev  software  tool 
march 2018 by bspassov
Scalable Height Field Self-Shadowing
We present a new method suitable for general purpose graphics processing units to render self-shadows on dynamic height fields under dynamic light environments in real-time. Visibility for each point in the height field is determined as the exact horizon for a set of azimuthal directions in time linear in height field size and the number of directions. The surface is shaded using the horizon information and a high-resolution light environment extracted on-line from a high dynamic range cube map, allowing for detailed extended shadows. The desired accuracy for any geometric content and lighting complexity can be matched by choosing a suitable number of azimuthal directions. Our method is able to represent arbitrary features of both high- and low-frequency, unifying hard and soft shadowing. We achieve 23 fps on 1024x1024 height fields with 64 azimuthal directions under a 256x64 environment lighting on an Nvidia GTX 280 GPU.
graphics  algorithm  programming  paper 
march 2018 by bspassov
Interactive Horizon Mapping
Shadows play an important role in perceiving the shape and texture of an object.
While some previous interactive shadowing methods are appropriate for casting
shadows on other geometry they can not be applied to bump maps (which contain
no explicit geometry.) Horizon Mapping is a technique used to compute shadows
for bump-mapped surfaces. We map the technique into modern graphics API’s and
extend it to account more accurately for the geometry of the underlying surface.
We also use it to represent limited self-shadowing for pure geometry. In mapping
the algorithm to hardware, we use a novel method to interpolate orientation in
tangent space over the surface. We show results of self-shadowing at frame rates.
graphics  paper  pdf  algorithm  programming  gamedev 
march 2018 by bspassov
Platform for 140 character javascript demos
graphics  javascript  demoscene  programming 
december 2017 by bspassov
Meshing in a Minecraft Game | 0 FPS
How to mesh/simplify voxel geometry, i.e. turn a minecraft style mesh with many small cube faces into a mesh with fewer polygons (up to 8 times more that the optimum)
graphics  gamedev  optimization 
december 2017 by bspassov
duangle / RTCSG2D — Bitbucket
RTCSG2D is an original 2D rendering technique to draw complex constructive solid geometry in realtime on the GPU. A large count of unions of intersections of additive and subtractive quadratic brushes is supported.

The operating principle of the RTCSG2D algorithm is a massively parallel hierarchical quadtree resolver that subdivides tiles until they contain only three brushes or less.
library  graphics  programming 
december 2017 by bspassov
vb-egsr11.pdf Least Squares Vertex Baking
We investigate the representation of signals defined on triangle meshes using linearly interpolated vertex attributes.
Compared to texture mapping, storing data only at vertices yields significantly lower memory overhead and less
expensive runtime reconstruction. However, standard approaches to determine vertex values such as point sampling
or averaging triangle samples lead to suboptimal approximations. We discuss how an optimal solution can be
efficiently calculated using continuous least-squares. In addition, we propose a regularization term that allows us
to minimize gradient discontinuities and mach banding artifacts while staying close to the optimum. Our method
has been integrated in a game production lighting tool and we present examples of representing signals such as
ambient occlusion and precomputed radiance transfer in real game scenes, where vertex baking was used to free up
resources for other game components.
paper  pdf  graphics  programming 
october 2017 by bspassov
Database containing albedo values and textures for various materials
graphics  gamedev  pbr 
september 2017 by bspassov
Art by Rens
Incredible photorealistic realtime photogrammetry based graphics.
graphics  gamedev 
august 2017 by bspassov
lyon/ at master · nical/lyon · GitHub
For now the goal is to provide efficient SVG-compliant path tessellation tools to help with rendering vector graphics on the GPU. For now think of this library as a way to turn complex paths into triangles for use in your own rendering engine.
library  programming  graphics  svg  rust 
august 2017 by bspassov
prosthetic knowledge — Playful Palette: An Interactive Parametric Color...
Graphics research from Adobe Research and University of Toronto have designed a digital painting palette interface with features similar to real-world physical paint mixing
cool  graphics 
july 2017 by bspassov
Object/Object Intersection
Links to papers/books/articles/code for various object/object intersection tests
3d  graphics  math  programming  useful  collision-detection 
july 2017 by bspassov
Suture Fluid
ake fluid dynamical system that creates viscous-fingering-like flow patterns, and suturing patterns along boundaries
glsl  shader  shadertoy  graphics  cool 
july 2017 by bspassov
GitHub - Unity-Technologies/DeLightingTool: De-Lighting tool
The De-Lighting Tool is a tool to remove lighting information from textures in a photogrammetry asset pipeline.
graphics  tool  software  gamedev 
july 2017 by bspassov
« earlier      
per page:    204080120160

Copy this bookmark: