QOpenGLShaderProgram
이 클래스는 GLSL과 GLSL/ES로 작성된 셰이더 프로그램을 지원한다. QOpenGLShader와 QOpenGLShaderProgram은 vertex shader와 fragment shader를 컴파일하고 링킹하는 세부 작업들로부터 프로그래머를 보호해준다.
다음 예제는 제공된 셰이더 소스코드를 사용하여 버텍스 셰이더 프로그램을 생성하는 것이다. 컴파일 및 링크가 완료되면 셰이더 프로그램은 QOpenGLShaderProgram::bind():를 호출하여 현재 QOpenGLContext에서 활성화된다.
QOpenGLShader shader(QOpenGLShader::Vertex);
shader.compileSourceCode(code);
QOpenGLShaderProgram program(context);
program.addShader(&shader);
program.link();
program.bind();
QOpenGLShaderProgram::addShaderFromSourceCode
지정된 타입의 셰이더로 소스를 컴파일하여 셰이더 프로그램에 추가한다. 컴파일이 성공적이었다면 true를 반환하고, 그 외의 경우는 false를 반환한다. 해당 컴파일 에러와 경고는 log() 함수를 통해 만들어진다.
이 함수는 먼저 QOpenGLShader의 인스턴스를 생성하지 않고도 셰이더 프로그램에 간편하게 버텍스와 프래그먼트 셰이더를 추가하기 위해 고안되었다.
참고 자료
'QT' 카테고리의 다른 글
[QT] QApplication (0) | 2025.05.02 |
---|---|
[QT] CMake로 환경 설정 (0) | 2025.04.30 |
[QT6] windeployqt를 통한 환경 exe 파일 구동 설정 (0) | 2025.04.17 |