- Bluenoise in the game INSIDE (dithering, raymarching, reflections)
- Dithering, Ray marching, shadows etc
- A Survery of Blue Noise and Its Applications
- Moments In Graphics (void-and-cluster)
- Bart Wronski Implementation of Solid Angle algorithm
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| <title></title> | |
| <style type="text/css"> | |
| <!-- | |
| #tbl span{ | |
| display: inline-block; | |
| blender用スクリプト。使用したこと等による損害等一切無保証、自己責任でどうぞ | |
| 使い方 | |
| 1 .下記スクリプトのresolution,frames,outPutPassesをよしなに書き換える | |
| ※とりあえず 初期のまま、デスクトップにでもuntitle.blendを保存して、それで試して見ることをおすすめします。 | |
| 以下a,b好きな方で | |
| 2a. cmdなりPowerShellなりBashなりZshなりで ./blender.exe -b <ここにレンダリングしたい*.blendのパス> -P resourceRenderScript.py (->このスクリプトのあるパス) | |
| 2b. blenderでレンダリングしたい *.blend を開いて、blenderのテキストエディタにこれを貼り付けてAlt+P | |
| 3. *.blendと同じフォルダに、同じ名前でフォルダが作られ、その中に結果が入ります。 | |
| 注意 |
| <!DOCTYPE html> | |
| <html><head> | |
| <meta http-equiv="content-type" content="text/html; charset=windows-1252"> | |
| <title>reaction diffusion space ship (a/v synth)</title> | |
| <script id="shader-vs" type="x-shader/x-vertex"> | |
| attribute vec3 aPos; | |
| attribute vec2 aTexCoord; | |
| varying vec2 pixel; | |
| void main(void) { | |
| gl_Position = vec4(aPos, 1.); |
| /* | |
| * Easing.pde - brings Robert Penner's easing functions into Processing | |
| * (c) 2015 cocopon. | |
| * | |
| * See the following to learn more about these famous functions: | |
| * http://www.robertpenner.com/easing/ | |
| * | |
| * License: | |
| * http://www.robertpenner.com/easing_terms_of_use.html | |
| */ |
| #!/bin/env python | |
| import numpy as np | |
| import scipy.misc | |
| from scipy.fftpack import dct, idct | |
| import sys | |
| H = 128 | |
| W = 128 | |
| lenna = scipy.misc.imresize(scipy.misc.lena(), (H, W)).astype(float) |
| using BenchmarkDotNet.Attributes; | |
| using BenchmarkDotNet.Running; | |
| using System; | |
| static class Lambda | |
| { | |
| // Roslyn 実装では、ラムダ式に対して匿名クラスが作られて、インスタンス メソッドが作られる。 | |
| // インスタンスを作る分重たそうに見えるけど、実はこの方が速い。というか静的メソッドが遅い。 | |
| public static Action Nop { get; } = () => { }; | |
| } |
著者: 青い鴉(ぶるくろ)さん @bluecrow2
これは結城浩さんの運用されていた YukiWiki に当時 Coffee 様 (青い鴉(ぶるくろ)さん)がかかれていた文章です。 ただ 2018 年 3 月 7 日に YukiWiki が運用停止したため消えてしまいました。その記事のバックアップです。
今は 404 ですが、もともとの記事の URL は http://www.hyuki.com/yukiwiki/wiki.cgi?%A5%C7%A5%B9%A5%DE%A1%BC%A5%C1%A4%AC%B5%AF%A4%AD%A4%EB%CD%FD%CD%B3 になります。
昔、自分がとても感銘を受けた文章なので、このまま読めなくなるのはとてももったいないと思い、バックアップとして公開しています。
Original Tweet - June 6, 2020
I really should have known this "shadow terminator" ray tracing issue was going to happen, but I stumbled into it anyway. It is a surprisingly tricky / annoying / common problem, but I got it fixed with some help from @pointinpolygon and others.
This arises from a difference between shading normals and geometric normals, particularly with low-poly geometry. This POV-Ray page has a nice diagram that explains it: http://wiki.povray.org/content/Knowledgebase:The_Shadow_Line_Artifact. This is not a floating-point precision issue.
This is also different from the "bump" terminator problem, which is about normal maps and not low-poly self-shadowing. See "Ray Tracing Gems" chapter 12 for details on that. The solution there is to modify the BSDF to add shadowin
| #ifndef TRICUBIC_INCLUDED | |
| #define TRICUBIC_INCLUDED | |
| float4 Cubic(float v) | |
| { | |
| float4 n = float4(1.0, 2.0, 3.0, 4.0) - v; | |
| float4 s = n * n * n; | |
| float x = s.x; | |
| float y = s.y - 4.0 * s.x; | |
| float z = s.z - 4.0 * s.y + 6.0 * s.x; |