Caution: 아래의 스크린 샷은 배경은 light에 영향을 받고 모델은 light에 영향을 받지 않는 모델입니다. 색 바램 현상. 이런 색이 나와야 한다고 하자 현재 문제는 HDR 을 켰을 때, 색이 빠진것 처럼나온다. 어둡게 나오는거야 tone mapping operator 때문인데, toon 에서는 결과가 저리나오니 처음에 버그인줄 알았다가 아예 tone mapping 빼고 exposer 를 1으로 바꾸니 원래랑 같은 결과가 나온다. 이걸 어찌해야하나; 각각 exposer에 따른 결과; intensity 20 짜리 광원 추가후 비교 auto exposure 후 auto exposure 전 HDR off
MMD에 Effect 추가가 가능하기에 구현 및 고려해야할 게 많다 https://www.youtube.com/watch?v=67joKZjXEyI 이건 목록이 있다 Music クラブ=マジェスティ:nyanyannya様(sm25034487) Sound source ”歌ってみた”:れをる様(sm28169465) Motion yurie様(sm31689277) Camera rad様(sm31729383) Tool MikuMikuDance:樋口優様 MikuMikuEffect:舞力介入P様 PmxEditor:極北P様 AviUtl:KENくん様 Model: Tda式改変ミク Model改変元: Tda式ミク キャミワンピv2:WYKP様 Tda式初音ミク デフォ服ver:金子卵黄様 アローヘッド式おっぱいボーンv1.3:アローヘッド様 Stag..
Version 2.1 은 Softbody 까지 지원하네. bullet softbody 자체가 메롱인 상태라 우선 PMD 에서도 쓰였던 rigid body 를 추가해보기로 하였다. 95% 이상의 멤버가 그대로 계승되었기에 parsing 자체는 쉬웠다. Viewer: Joint 가 없어서 머리랑 몇부분이 떨어 졌지만 위치는 맞다 그런데, 물리 연산 가한것도 아니고 그냥 rigidbody 에 적용만했을 뿐인데 수정하니 이제, bone을 따라가는건 잘된다. joint가 없어서 물리에 영향받는 나머지들은 땅에 떨어진다. 물리에 영향만 받는 개체는 또한 쉽다 그냥 skinning 하고 연동만 시키면 됨 문제는 물리랑 모션이랑 같이 영향을 받는 본이다 모션은 local 을 update 하고 물리는 world 기준으로..
Fx에서 blend, sampler 설정하는게 찾기도 더 쉽고 코드 작성이 더 빠른거 같다 어쩌다 보니, 특히 외부 FX 파일을 사용하기 위해 shader.fx 파일을 파싱해서 hlsl 과 pass, sampler, technique 를 분리해주는 전처리기를 작성하였다. 문제는, D3DCompile 을 통해 빌드하면 빌드하는데 오래 걸린다 Pipeline State 에서 HLSL 디버깅에 진입시 버벅인다. 반면 같은 소스를 header로 컴파일하여 include 하면 문제가 없었다. 좀더 제대로 짜서 effect db 같은 걸 만들어야 할거 같다. 이렇게 살아야하나 방황을 했는데, 인터넷에서 괜찮은 샘플을 발견하였다. 확실히 xml 이 파싱이 나은듯, 그냥 fx를 파싱하다 보니 시간만 잡아먹은듯하다. i..
Bloom 추가 중에 너무 빨리 어두어지는거 같아서 살펴보았다. https://youtu.be/YRz6NBqDffg miniEngine 에서는 adapt 과정을 아래와 같이 정해놓은 target 에 대해 한다. exposure = lerp(exposure, targetExposure, AdaptationRate); exposure = clamp(exposure, MinExposure, MaxExposure); https://www.slideshare.net/youpyo/hdr-8480350 p24, 25 에서는 아래와 같은 공식을 사용하였다. 원전은 http://wiki.gamedev.net/index.php/D3DBook:High-Dynamic_Range_Rendering 인데 날라갔고, 링크 깨진 한..
Tone mapping 은 됐으니 내부의 다른 효과를 구현해보자 R11G11B10 은 이래저래 적당한 포맷인듯. 그 밖의 R8G8B8M 등의 압축에 대해선 아래 글에 나와있다. http://lousodrome.net/blog/light/tag/rgbm/ https://www.slideshare.net/youpyo/hdr-8480350 (p13) Bloom 및 Glare 에 대해선 위의 글에 p10 나와있다 문제는 이걸 어케 구현하느냐인데, https://www.slideshare.net/youpyo/hdr-8480350 (p14) 위에건 대략적인 개론을 설명해놨는데 머 어떻게 구현해야할지 감이 안잡혔다. 21페이지 평균 휘도를 계산하기 위한 downsampling 코드는 나와있다. 그 밖에 암순응, 간상..
다음은 Geometry shader를 이용한 방법이다 법선 방향으로의 확대 및 뒷면 그리기가 아닌 다각형 가장자리에 윤곽선을 붙일 지 여부 판정 에지 (가장자리)을 따라 라인을 그립니다 http://zerogram.info/?p=941 Deferred Rendering (UE4) 기반에 대해 몇몇 실험이 아래 링크에 나와있다. http://rarihoma.xvs.jp/2015/02/22/1/#worldnormal- 단일 객체에 대한 depth map, noraml map, color map 을 sobel filter 링 후 결합 http://replay.unrealsummit.co.kr/data/usmp2016/pre002.pdf 개괄적 설명이 있는데, Epic Games Japan 의 Jun 이 제안했..
Forward pass 가 너무 많이 잡아먹기에, 투명이 없는 배경 모델을 찾아서 바꾸고, DirectXTex가 PNG 읽을 때 강제로 32 BIT RGBA로 컨버팅 하기에 차라리 BGRX로 읽도록 바꿨다. 이전에 BGRX의 경우 alpha가 없는 걸로 처리하도록 했기에 뒷단은 알아서 된다. 내부적으로 WinCodec 쪽을 사용하기에 멀 할수가 없다. FreeImage를 사용한 INFOMSPGMT 의 경우는 아래와 같이 처리한다. // Check to see if the texture has an alpha channel. m_bIsTransparent = ( FreeImage_IsTransparent( dib ) == TRUE ); Position 을 Depth 부터 reconstruction 하게 바..
이전에는 사진에서 쓰이는 톤매핑 구현하다(했다가 그만 뒀는데) 치웠는데 검색어를 바꾸니 더 나오네; https://www.slideshare.net/youpyo/hdr-8480350 https://www.slideshare.net/cagetu/ndc11-hdr 40 페이지 부터 언급이 되어있다. 42 페이지 Reinhard 가 나온다. 그 다음이야기가 아래에서 이어진다. http://egloos.zum.com/cagetu/v/6198009 우선 이걸 기반으로 ModelViewer를 해석해보자. ToneMappingUtility.hlsli 에서 float3 TM_Reinhard(float3 hdr, float k = 1.0) { return hdr / (hdr + k); } // The next gener..
관련 글은 Game programming gem 2권에 존재한다. http://www.gpgstudy.com/gpg2/gpg2s5-1draft.html 몇몇 방법은 너무 오래되었다. 물론 거기서 normal 확장 방법을 설명하는데 그건 아직 현역이다. 그냥 단순히 구현한다면, float3 pos = input.position + input.normal * EdgeSize * 0.01; matrix clipToProj = mul(projection, mul(view, model)); return mul(clipToProj, float4(pos, 1.0)); 아래와 같이 가까워지면 굵어지는 문제 존재한다 굵기를 고정시키려면, 카메라와의 거리를 고려해야한다. 아래 방법은 대충 비례식이 맞는거 같은데 y/pos..
- Total
- Today
- Yesterday