일단 하고 싶은건 현재 사이즈의 윈도우 창의 가로 세로값을
uniform value로 넣어서 shader파일에서 불러오려고 하고있음
float cwidth;
float cheight;
현재 윈도우창의 크기를 넣을 변수를 선언하고
uniform값을 update할 함수를
{
...
GLuint cw = glGetUniformLocation( program, "width");
glUniform1f(cw, cwidth);
GLuint ch = glGetUniformLocation( program, "height");
glUniform1f(ch, cheight);
...
}
reshape( int width, int height )
{
glViewport( 0, 0, width, height );
glutPostRedisplay();
}
그리고 shader에서
attribute float cwidth;
attribute float cheight;
이렇게 선언을 해줬음
이렇게 하면 되는거 맞음?
어디가 잘못된건지 잘 모르겠음 오류라도 나면 따라가면서 해볼텐데 ㅠ
횽들 조언좀 해줘
attribute가 아마 지금 deprecated 됐을 텐데?? 버젼 뭐씀?
아니 뭐 여튼 기본적으로 해놓은 틀은 맞음. 근데 attribute가 모델이 지저분해서, 그 뒷버전 모델을 사용하는게 훨씬 깔끔함.
땡칠도사 // 4.1임 오류가 안나고 화면이 안나오니 뭐를 고쳐줘야되느지 알 수가없네 ㅠ
uniform value에 근데 저렇게 선언해주면 cwidth랑 cheight를 shader파일에서 읽을 수 있는거잖아? 근데 cwidth랑 cheight에 그냥 null값이 들어가 있는 상태임? 아니면 자동으로 width랑 height를 찾아서 값을 넣어주는거임?
난 cwidth랑 cheight에 reshape() 함수에서 받아오는 width랑 height를 넣고 싶은데 이것두 잘 모르겠음 ㅠ
그냥 reshape 함수 내에서 uniform 값을 설정해주면 되잖아 [...] 물론 program을 계속 들고다녀야 되는게 문제지만.
땡칠도사 // cwidth = width ; cheight = height; 코드를 reshape에 넣으라는 말임?