ps_3_0def c0, 0.999866009, 0, 1, 3.14159274def c1, 0.0208350997, -0.0851330012, 0.180141002, -0.330299497def c2, -2, 1.57079637, 0.318309873, 0.5dcl_texcoord_pp v0.xyzadd_pp r0.xy, -v0_abs, v0_abs.yxzwcmp_pp r0.xz, r0.x, v0_abs.xyyw, v0_abs.yyxwcmp_pp r0.y, r0.y, c0.y, c0.zrcp_pp r0.z, r0.zmul_pp r0.x, r0.x, r0.zmul_pp r0.z, r0.x, r0.xmad_pp r0.w, r0.z, c1.x, c1.ymad_pp r0.w, r0.z, r0.w, c1.zmad_pp r0.w, r0.z, r0.w, c1.wmad_pp r0.z, r0.z, r0.w, c0.xmul_pp r0.x, r0.x, r0.zmad_pp r0.z, r0.x, c2.x, c2.ymad_pp r0.x, r0.z, r0.y, r0.xcmp_pp r0.y, v0.x, -c0.y, -c0.wadd_pp r0.x, r0.x, r0.yadd_pp r0.y, r0.x, r0.xadd_pp r0.z, -v0.x, v0.ycmp_pp r0.zw, r0.z, v0.xyxy, v0.xyyxcmp_pp r0.zw, r0, c0.xyyz, c0.xyzymul_pp r0.z, r0.w, r0.zmad_pp r0.x, r0.z, -r0.y, r0.xmul_pp r0.x, r0.x, c2.zmov_pp r0.y, v0.zadd_pp r0.xy, r0, c0.zmul_pp oC0.xy, r0, c2.wmov_pp oC0.zw, c0.y | ps_3_0def c0, 2, -1, 0.5, 1def c1, 6.28318548, -3.14159274, 1, 0dcl_texcoord2 v0.xydcl_2d s0texld_pp r0, v0, s0mad_pp r0.xy, r0, c0.x, c0.ymad r0.x, r0.x, c0.z, c0.zfrc r0.x, r0.xmad r0.x, r0.x, c1.x, c1.ysincos_pp r1.xy, r0.xmad_pp r0.x, r0.y, -r0.y, c0.wmul_pp oC0.zw, r0.y, c1rsq_pp r0.x, r0.xrcp_pp r0.x, r0.xmul_pp oC0.xy, r1, r0.x |
덧글
cagetu 2010/12/29 11:05 # 삭제 답글
오즈라엘 2010/12/29 11:13 # 수정 삭제
냥냥양 2010/12/29 23:41 # 삭제 답글
직접적인 ( / 25535 ), ( * 255 ) 요런식으로 하는게 아니라. ceil(), floor(), 요런건로 써서 해보세요.
기억이 맞다면 될거같아요..ㅡ_ㅡ;;;
근데 frac() 요건 그래픽카드마다 결과값이 달라서..영...amd에 문의 해도 대답없고;;;
그리고...64 unsigned int 이거 느리지않던가요??
오즈라엘 2010/12/30 11:02 # 수정 삭제
올림, 내림이 무슨 연관이 있는 것인지 ㅠㅠ
ATi나 NVIDIA에 문의 메일은 의미가 없어요ㅋ 절대 대답 안해줌 ㅋ
개발 가이드 문서의 틀린 내용도 바로 바로 수정 안하는 녀석들인데요 뭐 ㅋ
uint 64bit은 아직 속도 체크는 아직 안해봤는데, RT를 낭비하지 않으려면 선택의 여지가 없어서요 ㅎㅎ
냥냥양 2010/12/30 17:33 # 삭제 답글
렌더타겟줄이실라고 그런거죠?
제가 방금 테스트해봤는데, amd계열은 속도가 훌륭하고, nvidia계열은 암울하네요...어흑
오즈라엘 2010/12/31 01:28 # 수정 삭제
" there is no native integer math on GPUs before SM4.0"
이 문장을 제대로 보질 못했었네요 ㅎ 이 문장 대로 제대로 처리를 못해서 7600에서는 결과가 이상하게 나오나봅니다.
아래에 링크된 글들을 보면 흐름과 컨셉은 알겠는데, 왜 frac()이 비트 쉬프트의 의미를 가지게 되는지 이해는 안가더라구요. 소수부의 숫자들이 어떻게 bitwise의 효과를 가지게 되는 건가요ㅜㅜ?
nvidia 계열은 어떤 모델로 테스트해보신건지요? 저는 PF64랑 UINT64랑 별 속도 차이는 없어보이던데''
아직 7600에서는 정상적으로 돌지 않아 비교를 안해봤고 8600이상에서 비교해봤습니다.
냥냥양 2011/01/01 13:55 # 삭제 답글
{
vecEncode = floor( float2( vecEncode.x * 255.0f, vecEncode.y * 255.0f ) );
float fResult = floor( floor( vecEncode.x * 255.0f ) + vecEncode.y ) / 65535.0f;
return fResult;
}
float2 Float2Decode( float fDecode )
{
fDecode = floor( fDecode * 65535.0f );
float2 vecResult;
vecResult.x = floor( fDecode / 255.0f );
vecResult.x /= 255.0f;
vecResult.y = frac( fDecode / 255.0f );
return vecResult;
}
이렇게 대충 코딩해 봤는데 문제는 Decal때문에 AlphaBlend를 하고있는 부분이 깨지네요..ㅠㅠ
오즈라엘 2011/01/03 13:59 # 수정 삭제
그나저나 7600에선 여전히 비정상이네요 ㅠㅠ
냥냥양 2011/01/04 01:04 # 삭제 답글
오즈라엘 2011/01/04 11:30 # 수정 삭제
6,7 시리즈는 좀 까리까리한게 있는데, 개발 가이드 문서(http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide_Korean.pdf)에서는 A16B16G16R16 텍스쳐가 지원 되지 않는다고 나와 있습니다. 하지만 실제로 caps를 뒤져보면 지원을 하더군요. 애초에 지원을 하지를 말던가.. 원..
오즈라엘 2011/01/07 00:48 # 수정 삭제
냥냥양 2011/01/11 10:15 # 삭제 답글
전 6&7은 버텍스단위에서 라이트계산하고 그림자도 빼고, 포워드로 렌더링하려구요.. 그런거 다 하기엔
넘힘드네요.. 것보다.. m330에서 돌려봤더니 좌절이라. 그쪽 최적화해야겠어요
오즈라엘 2011/01/12 23:13 # 수정 삭제
테라처럼 쌩 디퓨즈만 지원하는 옵을 추가해서 커버하려구요
해상도가 점점 커져가는데 6,7 이넘들은 이를 따라올 수가 없네요.
mx330 말씀하시는 것인가요? 그넘도 지원하시나요 +ㅈ+?
냥냥양 2011/01/15 09:39 # 삭제 답글
오즈라엘 2011/01/15 14:52 # 수정 삭제
노트북용 하면 인텔 GMA가 대박이죠 ㅎ
인텔칩도 스펙상으로는 허용 범위라 신경써야될 밴더가 더 많아졌습니다
OTL