@DanFessler my 1993-1996 PhD on Volumetric Textures generalized after Kajiya's, and lead to GigaVoxels + other smart filterable voxels with phase function.
Here, scaffolding cylinders and bolts voxels, or leaves, reflects as such.
img: https://t.co/y9aGnuXtZl
videos: https://t.co/SrhhBGRif5
New Post: Triangle Tessellation with Clamped Parallelograms. The key idea is to use float tess factors like Dx11 tessellation but replace the pattern to be straighter and more stable. Also includes an MIT licensed web viewer for reference.
https://t.co/7zPNcJDGQY
dear imgui 1.92.8: https://t.co/G17w0mqvL8
- many fixes/improvements for tables, text inputs, axis auto-sizing, multi-select & box-select, clipper, key ownership system etc.
- ImDrawList::AddRect() sig change⚠️
- Bonus: a renderer agnostic standard for changing texture sampler.
About 3.5 years ago I did some experiment to improve the behavior of microfacet normals at glancing angles. Many surfaces become highly reflective even though having high roughness. Check the discussion in the thread. Here is my implementation reusing equations you already have:
Back then we mostly had baked lighting. Today we have path tracing which calculates everything at real time. To achieve same results, it requires 10x+ more GPU cycles. The advantage is that devs have much faster iteration loop and they don't need to ship massive amount of baked lighting data. Also levels can be more dynamic. But the downside is that the added GPU cost basically has eliminated most of the hardware advances we got in the past 8 years. Try to run a game at 4K native with no upscaling and no frame gen with path tracing enabled. You have to lean on upscaling and frame gen to make it run properly, and that results in various issues. Input signal is extremely noisy since real-time path tracing can't afford to do many samples, which makes the temporal reconstruction quality worse. And the new upscaler requires massive amount of new transistors (tensor cores) to run. Which we could have used elsewhere. We have some good path tracing implementations, but none of them run flawlessly at 4K 144Hz, even on $3000 RTX 5090. So it's understandable that gamers are pissed off. The visual quality improved much more in the previous 8 year period. But at the same time, once we are ready to commit to ray-tracing, the dev workflows will improve and new kind of more dynamic games worlds become possible. But the massive GPU price increases and delays on gaming GPU launches means that the transition period will last for at least 5 years. Steam Machine is slower than PS5 base model, which is a 5 years old console that launched at $399. Devs must stop shipping games that target only 15% gamers (= RTX 4070 and above).
New blog post!
In "Quantizing tangent frames", we look at various established methods to represent tangent frames in the vertex data, squeeze a few variants into 32 bits per vertex and look at the resulting precision.
https://t.co/ZsDeImK0Ls
Retweet, like and subscribe!
https://t.co/zOzqVMFdJ3
A modern Markdown-based typesetting system designed for versatility. It allows a single project to compile seamlessly into a print-ready book, academic paper, knowledge base, or interactive presentation.
Kapi engine is my training ground to learn new techniques and maintain a complex technology stack, not a production tool. Still, it has all kinds of cool things like visibility-buffer, material-tile shading, TLRC/DDGI, RT shadows + reflections, GPU-driven meshlet culling, bindless throughout...
Cyberpunk 2077 and Pragmata prove it can be done in a viable way in large scale projects, but it is a viable tech for smaller projects: Kapi renderer has ReSTIR PT + NRD denoising DLSS SR/RR/FG + FSR3 FG. Even without frame generation and on DLAA (native AA, no upscaling) it can run on flagship cards. FG help significantly to run on 5070 Ti class.
Had a great time talking to @SebAaltonen about his work! Rendering technology, back then & now, Hype Hype works, as well as "No Graphics API"
Sebastian, thank you so much for the time and effort! :)
https://t.co/LJhzMVbcnh
New Paper🙂
Nanite has shown that small triangles can be rendered fast in compute, we're exploring how fast for large meshes with up to 18.9 billion triangles, without the need to precompute LOD structures.
Paper: https://t.co/F9u4xE6Na3
Source: https://t.co/1LgdSHVi7i
SPIR-V is a higher level IR. It is compiled to device specific microcode. PTX is also compiled to device specific microcode. Nvidia has multiple GPU architectures.
All shader types (pixel, vertex, geometry, tessellation, ray gen, compute, etc) nowadays execute on the same SIMD cores. Tensor cores are often just extra execution pipelines, not really cores. They use the same register file as vector execution pipelines. Texture sampling units and ray-traversal units are close to the SIMD and use the same L1$. SIMD has intrinsic functions to invoke these hardware blocks. These instructions have variable latency (just like memory loads). Some GPUs do automatic scoreboarding and some have manual wait instructions.
AMD ROCm is similar to the low level part of CUDA, while AMD HIP is similar to the high level part of CUDA (C/C++ language compiler).
Всем привет! Опубликовал на Habr статью на тему работы с освещением в инди-проекте Hail to the Rainbow! Разобрал там основные подходы и интересные приемы, лайтмаппинг, тени и некоторые хитрости.
https://t.co/iLziYty2FO
#unity#gamedev#hailtotherainbow#article
Behind the pretty frames of #PRAGMATA. Breaking down many tricks and hidden gems of the renderer behind @CAPCOM_RandD's RE Engine.
i hope you enjoy & find this few months worth of freetime article useful...
i had FUN playing the demo and digging every bit of it, & looking forward for the game official release next week!!!!
https://t.co/Mzn1kgefdK
@PRAGMATAgame@PRAGMATA_JP@CAPCOM_RandD
A gentle reminder my MLPZen project is up on GitHub. You get:
- MLP inference and training in standard HLSL, in-line anywhere in your shaders
- 2D and 3D Hash-grid
- Adam optimizer
- Dx12 sample app
- Link: https://t.co/mmoVTA6LlG
Looking forward to how people will use this!