OpenGL Shader – 10

GLSL을 위한 OpenGL 설정 – 청소
원문 : http://www.lighthouse3d.com/opengl/glsl/index.php?oglcleanup

이전 섹션에서는, 프로그램에 쉐이더를 붙이는 함수를 보였다. 이제 이렇게 붙인 쉐이더를 프로그램에서 때어내는 함수에 대해서 알아보자. (OpenGL 2.0 형태)

void glDetachShader(GLuint program, GLuint shader);
Parameter:
program – 쉐이더를 떼어낼 프로그램 핸들
shader – 떼어낼 쉐이더 핸들

이에 대한 ARB 확장 형태는 다음과 같다.

void glDetachObjectARB(GLhandleARB program, GLhandleARB shader);
Parameter:
program – 쉐이더를 떼어낼 프로그램 핸들
shader – 떼어낼 쉐이더 핸들

쉐이더 삭제는 프로그램에서 떼어내야만 가능하며, 쉐이더 삭제와 프로그램 삭제에 대한 OpenGL 2.0 함수는 다음과 같다.

void glDeleteShader(GLuint id);
void glDeleteProgram(GLuid id);
Parameter:
id – 삭제할 프로그램 또는 쉐이더의 핸들

쉐이더가 프로그램에 붙여져 있을 경우, 위의 함수를 사용해 삭제를 시도해도 실제로 삭제되지 않고 단지 지워졌다고 표시만된다.  쉐이더의 실제 삭제는 프로그램에서 해당 쉐이더가 떼어지면 진짜로 삭제가 된다. 참고로 쉐이더는 하나의 프로그램에만 붙을 수 있는게 아니고 여러개에 붙을 수 있으며, 쉐이더를 삭제하기 위해서는 붙은 모든 프로그램으로부터 떼어내야 한다.

집중의 힘

많은 사람들이 정해진 시간을 한가지 방향으로만 사용하고 한가지 목표에만 집중한다면 그들은 성공할 것이다. 문제는 사람들이 다른 모든 것을 포기하고 매달리는 단 한가지 목표를 갖고 있지 못하다는 것이다.

토마스 에디슨

‘제대로 집중하면 6시간 걸릴 일을 30분 만에 끝낼 수 있지만, 그렇지 못하면 30분이면 끝낼 일을 6시간해도 끝내지 못합니다.

아인슈타인

집중해서 몰입할 때와 마지못해 일할 때의 생산성 차이는 하늘과 땅 차이만큼 큽니다.
시간과 공간을 잊어버리는 무아지경, 즉 몰입(Flow)상태에서 일하는 것이 그래서 매우 중요합니다.

조영탁의 “오늘의 행경”에서