GLM_FORCE_RADIANS 오류 (?) 해결방법
#define GLM_FORCE_RADIANS
텍스트를 3차원으로 나타내는 방법
무슨 오류인지 정확히 모르겠지만 GLM 경로를 찾지 못한다고 나온다.
해결방법은 전처리기로 미리 정의 해주는 방법 밖에 없다.
디버깅을 해봐도 그림파일 로드할 떄 오류난다는 것이외의 정확한 원인을 찾기 쉽지 않다.
opengl로 텍스트 출력하기
opengl에서 라이브러리를 직접 제공해주지 않는다.
따라서 폰트와 텍스트를 직접 지정하고 비트맵으로 변환해야만 한다.
WinApi로 하지 못한다.
파일 입출력
#include <stdio.h>
int main()
{
FILE *f;
f=fopen("a.txt",rt");
fprintf(f,"Hello World");
fclose(f);
}
text 파일을 읽어 들일 것이므로 = read + text = rt
http://desire-with-passion.tistory.com/169 파일입출력 기본개념 모두 정리!
텍스쳐 바인딩 작업
http://m.blog.daum.net/aero2k/84
texture 맵핑을 하기위해서 glfw에서는 glBindVertexArray를 활용해야만 한다,
Texture 속성 지정
texture를 작업하기 전 속성을 지정해줘야한다.
glfw는 glut와 조금 다른다.
void glVertexAttribPointer(GLuint index,
GLint size,
GLenum type,
GLboolean normalized,
GLsizei stride,
const GLvoid * pointer);
index : Vertex shader의 layout(location=x)에서 x에 해당한다.
size : Vertex Attrib를 구성하는 멤버의 개수. 가령, Vertex position 속성이라면 x,y,z,w로 구성된다면 4, x,y,z로 구성된다면 3.
그러므로, 1,2,3,4 값만 가능.
type : Vertext Attribㄹ 구성하는 멤버의 타입. Vertex position이 float로 구성된다면, GL_FLOAT. 그 외에도 다양한 타입이 존재.
normalized : 타입이 GL_FLOAT나 GL_HALF_FLOAT가 아닐 경우, unsigned 경우 0..1, signed일 경우 -1..1의 float로 변경하여 vertex shader에 값을 전달한다.
stride : pointer가 가리키는 배열에서 다음 구성요소까의 byte수.
가령, Vertex position x,y,z,w의 배열이고, 타입이 float라면 4(x,y,z,w)*4(float의 size) = 16이됨.
Vertex position x,y,z의 배열이고, 타입이 float라면 3(x,y,z)*4(float의 size) = 12임.
pointer : Vertex attrib의 배열 주소.
출처: http://gopen.tistory.com/8
구의 방정식
데카르트 좌표계에서는 중심이 (a, b, c)이고 반지름이 r인 구를

라는 방정식으로 나타낼 수 있다. 두 개의 매개변수 θ ∈ [0, 2π], φ ∈ [0, π]를 이용하여



glfw란?
games for window live(X)
* opengl의 라이브러리의 일종
OpenGL은 DirectX와 달리 멀티플랫폼을 지원하며 오픈소스이다.
그렇기 때문애 OpenGL을 쉽게 사용하기 위한 다양한 라이브러리가 있는데
대표적으로 GLUT, GLFW, SDL이 있다.
0. GLEW란?
GLEW는 The OpenGL Extension Wrangler Library의 준말로, 크로스 플랫폼 오픈소스 C/C++ 확장 라이브러리입니다. GLEW는 OpenGL의 새로운 기능을 제공하는 하나의 헤더파일입니다. OpenGL에서 기본적으로 제공하지 않는 기능들을 제공하기 때문에 모든 컴퓨터에서 잘 작동한다는 보장은 없지만 상당히 유용한 기능들을 제공합니다. 웹페이지의 설명에 따르면 GLEW는 Windows, Linux, Mac OS X, FreeBSD, Irix 및 Solaris 등 다양한 운영체제에서 테스트되었다고 합니다.
- 왜 사용하는가?(***)
OpenGL은 하나의 라이브러리가 아니기 때문에 프로젝트에 간단하게 연결할수가 없습니다. 그래서 GLEW 같은 라이브러리의 도움을 받습니다. glew.h와 같은 헤더파일만 include 하면 OpenGL의 기능들을 쉽게 사용할 수 있게 됩니다.
출처: http://justdoitproject.tistory.com/15 [JUST DO IT PROJECT]
** (glfw) API함수 설명서
http://www.glfw.org/docs/latest/group__window.html 를 참조하시면 됩니다
Texture 개념
현재는 대개 3D 컴퓨터 그래픽 용어로 사용된다. 업계 종사자들은 흔히 '맵' 이라고 하는데, 언어의 경제성 때문인지 텍스쳐보
다는 맵이라는 단어의 사용 빈도가 높다.[1] 이 업계에서 쓰이는 텍스쳐는 폴리곤의 겉에 씌우는 이미지 파일.

http://www.bswebgl.com/?p=500 참조
glblendFunc함수
http://diehard98.tistory.com/entry/OpenGL-%EB%B8%94%EB%A0%8C%EB%94%A9 참조
함수명 : glBlendFunc
매개변수 :
[1] : source = 덮어서 blending하는 이미지
[2] : destination = 원래 그려져 있는 이미지