|
정점 = vertex
chapter_01 씬 설정
03 WebGL 컴포넌트
드로잉 버퍼
종류: 색상 버퍼, 심도 버퍼, 스텐실 버퍼
버퍼는 읽고 쓸 수 있는 메모리 블록으로, 임시 데이터를 저장하는 공간이다.
색상 버퍼: 색상 정보를 보관하고 선택적으로 투명/불투명도에 해당하는 알파 값 저장
심도 버퍼: 픽셀의 심도(z값)에 대한 정보를 저장.
스텐실 버퍼: 렌더링하거나 렌더링 하지 않을 영역의 경계를 정하는데 사용.
이미지의 한 영역을 렌더링하지 않도록 표시하는 것을 해당 영역을 마스크한다고 말한다.
마스크한 영역을 포함한 전체 이미지는 스텐실이라고 부른다.
원시타입
원시타입은 특정 그래픽 언어에서 모델을 개발할 때 사용하는 그래픽 구성 요소다.
웹지엘의 7개 원시 타입
POINTS: 점
LINES: 선 - 각 선은 별도로 정의(vertex을 공유해도 각각의 vertex 필요함)
LINE_STRIP: 이어진선
LINE_LOOP: 닫힌 고리
TRIANGLES: vertex 세개로 이루어짐, LINES와 마찬가지로 공유된 vertex이라도 각각 필요
TRIANGLE_STRP: 마지막 두개의 정점과 다음 정점을 사용해 삼각형 형성(모든 삼각형이 최소 한 변을 공유한 상태)
TRIANGLE_FAN: 삼각형의 일부로 지정한 첫 번째 정점을 사용.
vertex 데이터
웹지엘에서는 위치, 색상, 법선, 텍스처 좌표 같은 정점 어트리뷰트를 보관하는 저점 버퍼 객체(VBO)를 생성해야 한다.
그런 다음 vertex 버퍼를 처리할 수 있는 셰이더 프로그램으로 vertex 버퍼를 보내야 한다.
정점 버퍼 객체(VBO)
각 VBO는 vertext의 특정 어트리뷰트에 대한 데이터를 보관한다. 이 어트리뷰트는 위치, 색상, 법선 벡터, 텍스처 좌표 등이 될 수 있다.
버퍼생성
var myBuffer = gl.createBuffer();
버퍼 바인딩
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, myBuffer);
'개발 > WebGL | Canvas' 카테고리의 다른 글
[threejs] material (0) | 2016.08.14 |
---|---|
[three.js] light (0) | 2016.08.14 |
[three.js] camera (0) | 2016.08.14 |
[three.js] scene, camera, renderer (0) | 2016.08.12 |
[WebGL] graphic API (0) | 2016.08.02 |