TAA 구현 중 지겨워서 캐릭터 표현을 바꾸기 위해 찾아보니 https://youtu.be/987OuFe8590 이런게 있었다. 기본 Shader로 NCHL 라는 걸 사용했다는데 http://mmdguide.tistory.com/459 Cook-Torrance 반사 모델, Half Lambert, 림 라이트 등으로 구성되었다고 한다. Halft Lambert의 정의는 square를 포함해야 하는 것 같다. https://developer.valvesoftware.com/wiki/Half_Lambert 그 덕에 아래 아저씨는 normalized half-lambert 계산할 때 치환해서 품 http://www.project-asura.com/program/d3d11/d3d11_006.html 그럼 왜 다들..
SDEF는 일반적으로 구현하던가 포기하던가 Le, Hodgins 2016 paper "Real-time Skeletal Skinning with Optimized Centers of Rotation 선처리로 8-core 에서 16초 정도 걸린다는 거 보고 접었는데 SDEF가 이상하게 나오는거 보니 다시 관심이 간다. 다시 보니 weight가 20개가 넘어간다. https://github.com/damian0815/skellington 이거 전에 썻던 글 같은데;
아래 2개 보면 카메라는 만들 수 있다. https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch27.html http://john-chapman-graphics.blogspot.kr/2013/01/what-is-motion-blur-motion-pictures-are.html 두 작업 모두 UAV를 사용하여 CS에서 하면 간단하다. 전체 개괄은 아래에서 찾을 수 있는데 엔터 칠줄 모르는 아저씨라 보긴 힘들다 https://mynameismjp.wordpress.com/the-museum/samples-tutorials-tools/motion-blur-sample/ https://docs.unrealengine.com/udk/Three/MotionBlurKR..
버그를 잡으려면 원인에 집중해야한다. 현상은 그림자가 위치에서 디스코 택처럼 깜박였다. motion blur/ssao 넣고 난뒤에 생긴거라 우선 위에걸 제거해보고 안되어서 화면 넓게 보니 해당 현상이 줄어들었다. 그래서 object clipping 여부에 따라 해당 문제가 발생하는 줄 알고 cliping 을 날려보니 문제가 없었다 skinning object 때문에 AABB 자체가 정밀하지 못했고, shadow map 을 위한 light space clipping 부분도 문제 있는 것 같아서 CSM 넣고 해당부분 제거하자고 하고 우선 넘어갔다. 이까지 오는데 3시간 넘게 걸렸는데. SSAO 버그 수정하다가 shadow map 쪽에서 살펴볼께 있어 shadow map을 보니 여보세여?? float comp..
http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf 뉴비를 위해 SH 기본 수학 부분 설명이 잘되어있다. SH Lighting, raytracing 부분까지 섞여있는데 그 부분은 이해 못함. 누가 해본 소스 코드 (Framework가 핵심인데 비공개, 배포 안됨) https://github.com/dwilliamson/SHTest https://github.com/dwilliamson/SHRotation (visualizing 인가?) Practical Implementation of SH Lighting and HDR Rendering on PlayStation 2! 위에선 DirectX SDK의 9c PRT 부분을..
코드 정리까지 같이하니 시간이 너무 걸린다. 몇가지 발견한 트릭들 [Luna] // Set z = w so that z/w = 1 (i.e., skydome always on far plane). output.position = mul( worldViewProjMatrix, float4(position, 1)).xyww; Far plane 이 1로 고정되어있으면 몽땅 far 로 보내버리면 된다 [incskies] // カメラ視点のワールドビュー射影変換 // カメラの移動をキャンセルし、 // 視点を常に天球の中心に。 float4x4 mat = WorldViewProjMatrix; mat[3] = float4(0,0,0,1); Pos.xyz *= STAR_DISTANCE; left 좌표계라면 저기를 0으로 set..
Camera가 모션 중간에 엄청 밝아지는 현상 발견 문제는 2개가 섞였는데 tone mapping operator 를 꺼놔서 auto exposer의 값이 감당 안되는 것이고 distance 가 음수일 경우 SetEyeAtUp( cameraPos, m_Position, up ); 여기서 direction을 구할때 음수가 나와서 그렇다. 이 후에 윤곽선이 진하게 나오는 현상이 발견 거리 자체는 멀지만 projection matrix의 scaling으로 화면과 가깝게 표현해서 그렇다. float4 posVS = mul(toView, float4(pos, 1)); float fovFactor = length(float2(projection[0][0], projection[1][1])); float scale ..
http://mmdguide.tistory.com/789?category=329175 중력을 역전 시켜보려하니 문제가 2개가 있다. noise란 부분은 존재하지 않고, SDEF 대신 DQ 로 blending 한 부분이 수학쪽 디버깅은 힘들다 믿을만한 라이브러리를 레퍼런스로 삼아 Test하는 수 밖에 틀린 것, vector3 가 XMVECTOR로 converting 되어 잘못된 값이 들어감 Dual = Quaternion( form.GetTranslation() * 0.5f ) * Real; 내가 이해를 잘못했나 EDUCATINO 쪽 자료 중에 DQ 초기화를 Cross 써서하고 Transform 공식을 이쁘장하게 몇줄로 하는게 있었는데 아예 GLM과 다르게 나온다. 다시 수정함 SDEF vs DQBS LB..
- Total
- Today
- Yesterday