karpik.realtime
807 subscribers
61 photos
28 videos
6 files
250 links
CG трюки на грани вменяемости.
хостед бай @karpik
Download Telegram
Channel created
Channel photo updated
Сюда я буду скидывать статьи и лайфхаки о рендеринге, которые слишком задротские для окружающего мира, а так же делиться своими промежуточными успехами. Велкам!
Нормальных слайдов не нашлось, есть только статьи - абстракты. Но просто посмотрите на это, выглядит чисто как работа мэттпейнтера. Когда плойка композит лучше тебя :)

https://dl.acm.org/doi/pdf/10.1145/3388767.3407358
https://dl.acm.org/doi/pdf/10.1145/3388767.3407359
https://dl.acm.org/doi/pdf/10.1145/3388767.3407349
https://dl.acm.org/doi/pdf/10.1145/3388767.3407393
https://ciechanow.ski/lights-and-shadows/ На первый взгляд ничего особенного, но в этой странице есть нюанс - автор написал все демки на ЧИСТОМ js/webgl, соответственно все шейдера доступны в коде. Вот эти вот эреа лайты, которые уже выглядят отлично, но ещё не заставляют видеокарту взлетать на околоземную орбиту!

#shader #lighting
https://www.microsoft.com/en-us/research/wp-content/uploads/1996/03/arealights.pdf так же в исходнике странице есть ссылка на эту чудесную пдфку, которая мне ровесница и которую, кажется, нужно понять, чтобы вытворять подобное.
karpik.realtime pinned «Сюда я буду скидывать статьи и лайфхаки о рендеринге, которые слишком задротские для окружающего мира, а так же делиться своими промежуточными успехами. Велкам!»
Милые облака через обычное запекание вертексов + нойз шейдер:
UPD: это не просто разработчик, а разработчик Sky: Children of the Light, которая прямой наследник Journey!
http://astroukoff.blogspot.com/2019/09/clouds-shader-breakdown.html
https://twitter.com/AlexStrook/status/1306943306505613312
Разработчик из Нвидии рассказывает как сократить вычисление god rays в 16 раз и замазать получившийся гигантский бэндинг с помощью blue noise

UPD: у автора дикое количество статей в блоге и, помимо этого, самые внятные мысли о soft skills, что я встречал на просторах интернета https://twitter.com/Atrix256/status/1259706514828177408
В этом никому не советую разбираться, ни одного коммента и treejs в котором всё свалено в кучу; но давайте запомним что риалтаймовые преломления без явного шума это вполне себе реальность, привет нотчу :)
https://twitter.com/Domenico_brz/status/1287102501318283264
Зато есть милая и несложная статья, которую можно повторить в таче, только eyeVector нужно достать так:
vec3 cam_pos = uTDMats[0].camInverse[3].xyz;
vec3 eyeVector = normalize(iVert.worldSpacePos.xyz - cam_pos);
(всё это во фрагмент шейдере GLSL материала)

https://tympanus.net/codrops/2019/10/29/real-time-multiside-refraction-in-three-steps/
Tyler Hobbs сделал кайфовую имитацию акварели на Processing, можно реализовать на glsl используя sdf для создания шейпов https://tylerxhobbs.com/essays/2020/how-to-hack-a-painting
Вообще у него несколько крутых лекций на ютубе, прям тру медиа артист
суматошное дополнение к посту про преломления - там нужны UV - координаты экрана рендера (чтобы сэмплить задний фон), их можно достать вот так
vec4 camSpace = uTDMats[iVert.cameraIndex].cam * vec4(iVert.worldSpacePos, 1.);
vec4 clipSpace = uTDMats[iVert.cameraIndex].proj * camSpace;
clipSpace.xyz = clipSpace.xyz/clipSpace.w;
vec4 screenSpace = clipSpace*0.5 + 0.5;
vec2
uvNew = screenSpace.xy;
Здесь тоже оч подробно про трансформации написано. Если понять как это работает, то будет совсем не важно, анрил это, тач или VR на WebGL, 3д графика рендерится по абсолютно одинаковым принципам везде http://www.songho.ca/opengl/gl_projectionmatrix.html
Вот так примерно будет