vertex_end 함수 설명
vertex_end
함수는 vertex_begin
으로 시작한 사용자 정의 프리미티브의 작성을 종료하는 기능을 합니다. 이 명령을 호출하면, 프리미티브는 vertex_submit
함수에서 셰이더에 사용되거나, vertex_freeze
를 사용하여 버퍼를 고정할 수 있습니다. 고정된 버퍼는 읽기 전용이 되어 성능이 향상됩니다.
문법
vertex_end(buffer);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
buffer | Vertex Buffer | 작성을 종료할 버텍스 버퍼 |
반환값
- N/A
예제
vertex_end(buff);
위 코드는 사용자 정의 프리미티브의 정의를 종료합니다.
활용 예제
예제 1: 기본 프리미티브 생성
vertex_begin(primitives_triangle);
vertex_position(0, 0);
vertex_position(100, 0);
vertex_position(50, 100);
vertex_end(buff);
예제 2: 셰이더에 프리미티브 제출
vertex_submit(buff, primitive_triangle);
예제 3: 버퍼 고정
vertex_freeze(buff);
예제 4: 사용자 정의 색상 추가
vertex_begin(primitives_triangle);
vertex_position(0, 0);
vertex_color(c_red);
vertex_position(100, 0);
vertex_color(c_green);
vertex_position(50, 100);
vertex_color(c_blue);
vertex_end(buff);
예제 5: 다각형 그리기
vertex_begin(primitives_polygon);
for (var i = 0; i < 5; i++) {
var angle = i * (360 / 5);
var x = cos(degtorad(angle)) * 50;
var y = sin(degtorad(angle)) * 50;
vertex_position(x, y);
}
vertex_end(buff);
이 문서에서는 vertex_end
함수의 사용법과 다양한 활용 예제를 소개했습니다.