- [1983. Peter Burt and Edward Adelson. The Laplacian Pyramid as a Compact Image Code][1]
- [1993. Scott Daly. The visible differences predictor: an algorithm for the assessment of image fidelity][2]
- [1995. Andrew S. Glassner. In Principles of digital image synthesis, pages 59-66][3]
- [1997. Gregory Ward-Larson, Holly Rushmeier, and Christine Piatko. A visibility matching tone reproduction operator for high dynamic range scenes][4]
- [1999. Mahesh Ramasubramanian, Sumant N. Pattnaik, Donald P. Greenberg. A perceptually based physical error metric for realistic image synthesis][5]
- [2004. Yangli Hector Yee, Anna Newman. A perceptual metric for production Testing][6]
- [2004. HECTOR YEE, SUMANTA PATTANAIK and DONALD P. GREENBERG. Spatiotemporal Sensitivity and Visual Attention for Efficient Rendering of Dynamic Environments][7]
- [2004. Hector Yee. *A Perceptual Metric for Production Testing (Submitted and Accepted in Journal of
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
public class PreviewTexture2D : PropertyAttribute | |
{ | |
public PreviewTexture2D() | |
{ } | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
etcpack test.png test -s slow -e perceptual -as -c etc -f RGB -ext PNG -ktx -v -progress |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
uint BitReverse(uint x) | |
{ | |
x = ((x & 0x55555555) << 1) | ((x & 0xaaaaaaaa) >> 1); | |
x = ((x & 0x33333333) << 2) | ((x & 0xcccccccc) >> 2); | |
x = ((x & 0x0f0f0f0f) << 4) | ((x & 0xf0f0f0f0) >> 4); | |
x = ((x & 0x00ff00ff) << 8) | ((x & 0xff00ff00) >> 8); | |
x = ((x & 0x0000ffff) << 16) | ((x & 0xffff0000) >> 16); | |
return x; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local msvc_config = | |
{ | |
Env = { | |
CCOPTS = { | |
"/Wall", "/WL", "/GR-", "/EHs-c-", "/analyze", '/FA', '/TC', | |
"/Zl", "/Za", | |
{ "/O2", "/GL", "/GS-", "/Gw"; Config = "*-vs*-release" }, | |
{ "/Od", "/GL-", "/GS", "/RTCcsu"; Config = "*-vs*-debug" }, | |
}, | |
LIBS = { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
float Min3(float a, float b, float c) | |
{ | |
return min(a, min(b, c)); | |
} | |
float Max3(float a, float b, float c) | |
{ | |
return max(a, max(b, c)); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
uint ReadSlotId(uint LaneId, uint mask0, uint mask1) | |
{ | |
return LaneId & (0x20 | mask0) | mask1; | |
} | |
void LdsBarrier() {} | |
groupshared float Scratch[64]; | |
float PrefixSum64(uint LaneId, float x) |
- A fast, simple method to render sky color using gradients maps [[Abad06]]
- A Framework for the Experimental Comparison of Solar and Skydome Illumination [[Kider14]]
- A Method for Modeling Clouds based on Atmospheric Fluid Dynamics [[Miyazaki01]]
- A Physically-Based Night Sky Model [[Jensen01]]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// maximum relative error : 2.38418579e-07 | |
const float exp2_c0 = 0.999999930f; | |
const float exp2_c1 = 0.693153100f; | |
const float exp2_c2 = 0.240153617f; | |
const float exp2_c3 = 0.055826318f; | |
const float exp2_c4 = 0.008989340f; | |
const float exp2_c5 = 0.0018775767f; | |
inline float exp2_zero_one_range(float x) | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*---------------------------------------------------------------------------------------------------------------------- | |
* Let's imagine two spheres with common center and different radiuses. This function computes distance from a point | |
* on the sphere with smaller radius (RMin) to the surface on the sphere with bigger radius (RMax) in the direction | |
* define by Mu (cosine between direction from the point on the smaller sphere to the point on the bigger sphere and | |
* direction from the point on the smaller sphere to the sphere center) | |
* | |
* Complexity : 3 mad, 1 sqrt | |
*--------------------------------------------------------------------------------------------------------------------*/ | |
float DistanceToSphericalLayer(float RMin, float RMinSq, float RMaxSq, float Mu) | |
{ |