fragment shader 급 질문....

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
fantajeon
Posts: 8
Joined: 2003-08-04 22:56
Location: 우송대학교

fragment shader 급 질문....

Post by fantajeon »

uniform sampler2D sampler0;
uniform vec2 tc_offset[9];

void main(void)
{
float sample[9];

for (int i = 0; i < 9; i++) {
sample = texture2D(sampler0, gl_TexCoord[0].st + tc_offset).r;
}

float horizEdge = sample[2] + sample[5] + sample[8] - (sample[0] + sample[3] + sample[6]);
float vertEdge = sample[0] + sample[1] + sample[2] - (sample[6] + sample[7] + sample[8]);
float mag = sqrt( horizEdge*horizEdge + vertEdge*vertEdge );

float A = sample[2] + sample[5] + sample[8];


gl_FragData[0] = vec4(A,0,0,1.0);
}


제가 너무나 힘든 상황에 처했습니다. 정말 고수들좀 도와주세요...

위에 코드는 3x3에서 edge을 추출하는 코드입니다. 그런데, 마지막에 gl_FragData[0] = vec4(A,0,0,1.0)을 하면, 화면이 붉은 색으로 잘 작동을 합니다.

그런데, gl_FragData[0] = vec4(mag,0,0,1)로 바꾸면, 결과는 검은색 화면입니다.

이게 어떤날은 잘 됬는데, 코드를 조금바꾸니깐.. 에러를 냈습니다.


하아~~ 미치고 팔짝할 노릇이네요 ㅠㅠ.....

도대체 무슨 설정을 잘 못했길래 결과가 제대로 나오지를 않는 것입니까?
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

compile 에러인가요?

Post by lifeisforu »

Code: Select all

float A = sample[2] + sample[5] + sample[8];
이 부분 주석처리 하고 mag 넣어 보세요.
자기계발을 멈추는 순간 죽는다
fantajeon
Posts: 8
Joined: 2003-08-04 22:56
Location: 우송대학교

Post by fantajeon »

네, 감사... ^^
^^
Locked