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_BGRAis 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_INTare accepted byglVertexAttribPointerandglVertexAttribIPointer. AdditionallyGL_HALF_FLOAT,GL_FLOAT,GL_DOUBLE,GL_FIXED,GL_INT_2_10_10_10_REV,GL_UNSIGNED_INT_2_10_10_10_REVandGL_UNSIGNED_INT_10F_11F_11F_REVare accepted byglVertexAttribPointer.GL_DOUBLEis also accepted byglVertexAttribLPointerand is the only token accepted by thetypeparameter 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
strideis 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_BUFFERtarget. The initial value is 0.
