RF온라인에서 뽀샤시 효과는?
Moderator: 류광
RF온라인에서 뽀샤시 효과는?
RF온라인의 옵션에 보면 뽀샤시 효과를 조정할수 있는 옵션이 있습니다.
약간 뭉게 지면서 밝아 지는 느낌이 나네요.
필터링을 사용한걸까요?? 아니면 감마값 조정에 의한 선명도 조정, 이것도 아니면 멀티 샘플링?
답답하네요.
약간 뭉게 지면서 밝아 지는 느낌이 나네요.
필터링을 사용한걸까요?? 아니면 감마값 조정에 의한 선명도 조정, 이것도 아니면 멀티 샘플링?
답답하네요.
글로우 이펙트에 픽셀쉐이더가..
반드시 들어가는건 아닙니다.
BackBuffer를 얻어와서 이걸로 처리해도 그럭저럭 봐줄만한
효과를 낼수 있습니다.
Pixel Shader를 쓰면 좀더 고 퀄리티의 효과를 낼수도 있지만
실제 그냥 쉐이더를 쓰지 않아도 볼만 하더군요^^
BackBuffer를 얻어와서 이걸로 처리해도 그럭저럭 봐줄만한
효과를 낼수 있습니다.
Pixel Shader를 쓰면 좀더 고 퀄리티의 효과를 낼수도 있지만
실제 그냥 쉐이더를 쓰지 않아도 볼만 하더군요^^
backbuffer로 어떻게 가능하지요.?
질문을 올렸던 사람입니다. 부분적으로 모델에 글로우 효과를 주는 건 알고 있습니다.
검색이야 구글, gpgstudy, 가마슈트라, gamedev 다 뒤졌습니다.
제가 원하는건 RF처럼 전체적으로 주는 걸 말하는겁니다.
RF 뽀샤시 효과나 wow에서 죽었을때 그레이(흑백)나 셰이더로 했을까 하는 의문이 드네요.
directx 8.1에서 backbuffer로 어떻게 효과를 줄수있는지 설명좀 부탁드립니다.
검색이야 구글, gpgstudy, 가마슈트라, gamedev 다 뒤졌습니다.
제가 원하는건 RF처럼 전체적으로 주는 걸 말하는겁니다.
RF 뽀샤시 효과나 wow에서 죽었을때 그레이(흑백)나 셰이더로 했을까 하는 의문이 드네요.
directx 8.1에서 backbuffer로 어떻게 효과를 줄수있는지 설명좀 부탁드립니다.
-
- Posts: 87
- Joined: 2003-12-30 17:09
- Location: AHA Studio
- Contact:
그냥... 단순히 BackBuffer를 Texture로 떠서
ATI Radeon SDK에 있던 예제 처럼 텍스처 해상도를 가지고 놀던지,
아니면 픽셀 쉐이더를 쓰던지 한다는 이야기가 아닐까요...
DirectX 8.0 한글판 도움말 문서를 참고해서 해본다면 (아마도 8.1에서 큰 차이는 없을 겁니다)
이런 식으로 BackBuffer surface를 얻을 수 있구요.
이런 식으로 텍스처에서 surface를 얻은 후,
Surface to surface 복사. 이렇게 하면 간단히 떠지죠.
마지막에 이런 식으로 release하는 거 잊지 마시구요 +_+
실제로 테스트를 해보지 않아서 -_- 될지 모르겠구요. 한번 실제로 해봐야겠네요 -_-;;;;;;;;;;;
혹시라도 CopyRects에서 문제가 생길까 싶어서 문서 내용을 인용하면..
ATI Radeon SDK에 있던 예제 처럼 텍스처 해상도를 가지고 놀던지,
아니면 픽셀 쉐이더를 쓰던지 한다는 이야기가 아닐까요...
DirectX 8.0 한글판 도움말 문서를 참고해서 해본다면 (아마도 8.1에서 큰 차이는 없을 겁니다)
Code: Select all
LPDIRECT3DSURFACE8 pBackBuffer;
pd3dDevice->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer);
Code: Select all
LPDIRECT3DSURFACE8 pTextureSurface;
pTexture->GetSurfaceLevel(0, &pTextureSurface);
Code: Select all
pd3dDevice->CopyRects(pBackBuffer, NULL, 1, pTextureSurface, NULL);
Code: Select all
pTextureSurface->Release();
pBackBuffer->Release();
실제로 테스트를 해보지 않아서 -_- 될지 모르겠구요. 한번 실제로 해봐야겠네요 -_-;;;;;;;;;;;
혹시라도 CopyRects에서 문제가 생길까 싶어서 문서 내용을 인용하면..
주의
이 메소드는, 확대, 컬러 키, 알파 블렌드, 포맷 변환, 및 전송원 또는 목적지 직사각형의 몇개의 클리핑을 지원 하고 있지 않다. 모든 전송원직사각형 및 대응하는 목적지 직사각형이, 각각 전송원 및 목적지 표면내에 완전하게 포함되지 않은 경우에는, 이 메소드가 실패하는 것에 주의한다. 2 개의 표면의 포맷은 일치하고 있지 않으면 안 되지만, 사이즈는 차이가 나도 상관없다.
표면의 포맷이 스텐실 포맷의 경우, 이 메소드는 적용할 수 없다.
POINT 구조체에서는, 맨 왼쪽 위쪽의 x 좌표와 y 좌표를 정의한다. POINT 의 상세한 것에 대하여는, Microsoft? Platform Software Development Kit (SDK)를 참조할것.
Last edited by 아샬 on 2004-08-26 12:17, edited 2 times in total.
삶은.... 달걀.
A: 언제적 개그냐?
B: 오늘.
A: 언제적 개그냐?
B: 오늘.
첫 답변 올렸던 사람입니다. 풀화면도 크게 다르지 않습니다..
글로우 소스를 어떻게 만들어내느냐가 문제인데..제 경우 렌더타겟 2개로 해결을 봤었습니다.
( 512사이즈 2개 정도면 되더군요. )
가마수트라 문서를 보셨다면 백버퍼를 StretchBlt로 뽑아오는걸 보셨을겁니다.
그걸로 렌더타겟A에다가 일단 전체 화면 이미지를 담아오고
B타겟에 A타겟이미지를 출력합니다. 이때 픽셀셰이더에서 이미지의 각픽셀의 값을 제곱을 시킵니다.
( 제곱 횟수가 늘어날수록 영역이 좁아집니다. )
칼라값을 제곱을 시키면 전체적으로 밝은부분은 더 밝게되고 어두운부분은 더 어둡게 되서
글로우 소스가 없더라도 대략의 글로우소스를 만들어 낼수 있습니다.
이 뒤로는 부분 글로우와 마찬가지로 블러먹이기이므로
B타겟의 이미지를 A와 B로 번갈아가며 블러를 먹여줍니다. ( 2-3번정도 먹여주면 좀더 좋은거 같은..)
그리고 화면에 다시 덮어씌우시면 전체화면 글로우가 됩니다.
IT EXPERT 3D 게임프로그래밍 - 김용준 저
의 백열광효과를 찾아보세요. 전체화면 글로우입니다.
PS..
RF의 뽀샤시 저사양(픽셀셰이더지원안되는) 컴에서도 되나요..? 테스트를 못해봐서..
글로우 소스를 어떻게 만들어내느냐가 문제인데..제 경우 렌더타겟 2개로 해결을 봤었습니다.
( 512사이즈 2개 정도면 되더군요. )
가마수트라 문서를 보셨다면 백버퍼를 StretchBlt로 뽑아오는걸 보셨을겁니다.
그걸로 렌더타겟A에다가 일단 전체 화면 이미지를 담아오고
B타겟에 A타겟이미지를 출력합니다. 이때 픽셀셰이더에서 이미지의 각픽셀의 값을 제곱을 시킵니다.
( 제곱 횟수가 늘어날수록 영역이 좁아집니다. )
칼라값을 제곱을 시키면 전체적으로 밝은부분은 더 밝게되고 어두운부분은 더 어둡게 되서
글로우 소스가 없더라도 대략의 글로우소스를 만들어 낼수 있습니다.
이 뒤로는 부분 글로우와 마찬가지로 블러먹이기이므로
B타겟의 이미지를 A와 B로 번갈아가며 블러를 먹여줍니다. ( 2-3번정도 먹여주면 좀더 좋은거 같은..)
그리고 화면에 다시 덮어씌우시면 전체화면 글로우가 됩니다.
IT EXPERT 3D 게임프로그래밍 - 김용준 저
의 백열광효과를 찾아보세요. 전체화면 글로우입니다.
PS..
RF의 뽀샤시 저사양(픽셀셰이더지원안되는) 컴에서도 되나요..? 테스트를 못해봐서..
-
- Posts: 53
- Joined: 2004-06-16 13:47
- Location: 한국콘텐츠진흥원
- Contact:
좋은 자료가 있습니다.
http://www.dexgame.com 의 3D작품 메뉴에 보시면 macwin님이 올린 LightGlare소스가 올라와있습니다.
아무런 확장, 셰이더 없이 만든 것이니 한결 범용성이 있지 않을까요?
아무런 확장, 셰이더 없이 만든 것이니 한결 범용성이 있지 않을까요?
Re: 좋은 자료가 있습니다.
소스는 없네요..김용준 wrote:http://www.dexgame.com 의 3D작품 메뉴에 보시면 macwin님이 올린 LightGlare소스가 올라와있습니다.
아무런 확장, 셰이더 없이 만든 것이니 한결 범용성이 있지 않을까요?
혹시 소스 구할 수 없나요?
소스를 봐야 범용성을 따지든 말든 하죠 ^^
좋은 하루 되세요~
으음..
비회원 wrote:macwin의 소스를 보니, 주위 픽셀과 보간하는 계산만 되어 있더군요.김용준 wrote:http://www.dexgame.com 의 3D작품 메뉴에 보시면 macwin님이 올린 LightGlare소스가 올라와있습니다.
가우스마스크를 사용 한 부분은 없어보이네요.
저도 똑같이 따라해봤는데, (필요없는얘기같지만DX로..) 백열광은 커녕
뿌옇게 먼지낀것 같은 결과가 나오는군요 ^^
macwin님은 가우스마스크를 사용 하지 않은게 확실 한건가요?
제가 GL은해보지 않아서, 대충 보고 예상 파악한건데..
제가 잘못 파악한것인가요..
그리고, 글로우텍스쳐를 그릴때, 알파채널을 따로 안두고, 스테이지설정을 다음과 같이 하였습니다.
D3DRS_SRCBLEND, D3DBLEND_ONE
D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR
처음에는 이렇게 하면 밝은 부분은 불투명해지고,
어두운 부분은 투명해지므로, 전체적인 밝기는 증가하리라는 예상이였습니다.
하지만, 중간명암부분을 생각치 못했습니다.
반투명한 회색이 덮어져 그부분은 오히려 더 어두워지는것 이였습니다.