lecture3
lecture3-ch2
lab0
lab0-moglclassShaderTriangle-Uniform
Shader class – readShaderSource, loadShader, deleteShader, isLoaded, getShaderID
Program class – createProgram, deleteProgram, attachShaderToProgram, linkProgram, useProgram, getProgramID, setUniform
VertexBufferObject class – createVBO, releaseVBO, mapBufferToMemory, unmapBuffer, bindVBO, uploadDataToGPU, addData, getDataPointer, getBuffer
simple1.vs
simple1.fs
triangle.cpp
OPENGL PROGRAMMABLE PIPELINE
http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html
Modern OpenGL (OpenGL 3.x) 프로그래밍은 다음과 같은 단계로 진행한다.
1.Shader 프로그램을 만든다.
2.Vertex 자료를 Vertex Buffer Object (VBO)와 Vertex Array Object (VAO)를 만들고 이 자료를 쉐이더에 로딩한다.
3.이 자료의 위치와 쉐이더의 변수와 “연결(Connect)” 한다.
4.렌더링을 수행한다.
Project Schedule
09/13 – Project Group Formation
09/20 – Project Idea Presentation
10/11 – Project Proposal Presentation
11/08 – Project Midterm Presentation
12/13 – Project Final Presentation
Project Groups
1. 김철민, 홍석영, 유인혁
2. 강준구, 박희찬, 장유곤
3. 김재윤, 김태현, 김은채
4. 이영석, 김건우
lecture2
lecture2
lecture1
lecture1
History of the Teapot
Computer Graphics
Pixar Luxo Jr. (1986) – 3D Animation
Toy Story (1995) – First Full 3D CG Movie
https://youtu.be/1guCjulfnZI
Avatar (2009) – 3D (Stereoscopic) Movie
Time Magazine (August 17, 2015 Issue)
glVertexAttribPointer
glVertexAttribPointer — define an array of generic vertex attribute data
https://www.opengl.org/sdk/docs/man/html/glVertexAttribPointer.xhtml
void glVertexAttribPointer( |
GLuint index, |
GLint size, | |
GLenum type, | |
GLboolean normalized, | |
GLsizei stride, | |
const GLvoid * pointer) ; |
Parameters
index
- Specifies the index of the generic vertex attribute to be modified.
size
- Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, 4. Additionally, the symbolic constant
GL_BGRA
is accepted byglVertexAttribPointer
. The initial value is 4. type
- Specifies the data type of each component in the array. The symbolic constants
GL_BYTE
,GL_UNSIGNED_BYTE
,GL_SHORT
,GL_UNSIGNED_SHORT
,GL_INT
, andGL_UNSIGNED_INT
are accepted byglVertexAttribPointer
andglVertexAttribIPointer
. AdditionallyGL_HALF_FLOAT
,GL_FLOAT
,GL_DOUBLE
,GL_FIXED
,GL_INT_2_10_10_10_REV
,GL_UNSIGNED_INT_2_10_10_10_REV
andGL_UNSIGNED_INT_10F_11F_11F_REV
are accepted byglVertexAttribPointer
.GL_DOUBLE
is also accepted byglVertexAttribLPointer
and is the only token accepted by thetype
parameter for that function. The initial value isGL_FLOAT
. normalized
- For
glVertexAttribPointer
, specifies whether fixed-point data values should be normalized (GL_TRUE
) or converted directly as fixed-point values (GL_FALSE
) when they are accessed. stride
- Specifies the byte offset between consecutive generic vertex attributes. If
stride
is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. pointer
- Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of the buffer currently bound to the
GL_ARRAY_BUFFER
target. The initial value is 0.