Software Development 378

OpenGL SuperBilbe Chapter3, 파이프라인을 마치며..

새해초, 1월이 되면서 그래픽스 공부를 시작하기로 마음 먹었다. OpenGL Superbible을 통해 공부를 시작했고, 1월 한달간 챕터1~3까지 공부하며 블로그에 공부한 내용을 정리했다. 처음부터 블로그에 정리하면서 공부하는 것을 목표로 해서 시간이 좀더 오래 걸렸지만, 필요할때마다 두고두고 보기엔 더 나을거같아 남겨두기로 마음먹었다. (보통 한챕터 정리하는데 별거 아닌거같아도 두어시간은 쓰게된다...)OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 ..

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 5) 프래그먼트 쉐이더~프레임버퍼

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션..

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더Part 3 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션 3.5 프리미티브 어셈블리, 클리핑, 래스터라이제..

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 Part 3 파이프라인 따라가기 - 3) 지오메트리 쉐이더 3.4 지오메트리 쉐이더 - 래스터라이저 스테이지 이전 단계에 위치, 개념적으로 마지막 쉐이더 스테이지 - 프리미티브당 한 번 수행되며, 수행되는 프리미티브를 구성하는 모든 버텍스에 ..

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달Part 3 파이프라인 따라가기 - 2) 테셀레이션 3.3 테셀레이션(Tessellation) - 고차 프리미티브(OpenGL에서는 패치)를 더 작고, 단순한 여러 개의 렌더링 가능한 프리미티브(삼각형)으로 분할하는 작업 - 사각형, 삼각형, 선들을 더 많고 더 작은 점, 선, 삼각형 등으로 분할 3.3.1 테셀레이션 컨트롤 쉐이더(Tesse..

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 Part 3 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 - OpenGL 파이프라인의 각 스테이지가 하는 일 - 작성한 쉐이더를 고정 함수 파이프라인 스테이지에 연결하는 방법 - 그래픽스 파이프라인의 모든 스테이지에서 동시에 사용하는 프로그램을 만드는 방법 3.1 Vertex Shader에 Data 전달하기 - Vertex Shader : 첫번째 프로그래밍 가능 스테이지, 유일한 필수 스테이지 실행 전 버텍스 페칭/버텍스 풀링(정점 풀링)이라는..

OpenGL Super Bible 그래픽스 공부하기 - 2.3 처음 그리는 삼각형

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 Part 2.3 처음 그리는 삼각형삼각형 예제는 지난번 점을 찍는 예제에서 간단한 수정만 있음 수정이 가능하다. 1234567891011121314 //vertext shader source code static const GLchar * vertex_shader_source[] = { "#version 430 core \n" " \n" "void main(void) \n" "{ \n" " const vec4 vertices[3] = vec4[3](vec4(0.25, -0.25, 0.5, 1.0)," " vec4(-0.25, -0...

우분투 환경에서 SDL2 + GL 설정하고 빌드해보기

OpenGL컴퓨터 그래픽스를 화면에 나타낼때는 보통 그래픽 라이브러리 OpenGL이나 DirectX를 이용하게 되며, 이러한 라이브러리는 어플리케이션이 그 하부에서 동작하는 장치의 그래픽스 서브시스템에 접근하고 제어하기 위해 사용하는 인터페이스 OpenGL(Open Graphics Library) 는 실리콘 그래픽스사에서 만든 2차원/3차원 그래픽스 표준 API 규격으로, 프로그래밍 언어 간 플랫폼 간의 교차 프로그래밍을 지원SDL(Simple Directmedia Layer)SDL은 C로 짜여진 크로스플랫폼 멀티미디어 라이브러리입니다. 비디오,오디오,사용자 입력등을 추상화하여 API로 제공하며 리눅스, 윈도우, 안드로이드, iOS, 타이젠에서 사용가능하게 지원 1. OpenGL 설치 sudo apt-g..

OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 Part2. 첫번째 OpenGL 프로그램 - 쉐이더 코드 생성 / 컴파일 - OpenGL로 그리기 - AppFw이용, 프로그램 초기화 정리2.1 간단한 애플리케이션 ->(SDL+GL 사용한 샘플, 간단하게 glClearBuffv를 사용하고 있다.) - 모든 OpenGL 함수는 gl로 시작, 일부 인자 타입을 함수 이름 끝에 접미사로 줄여쓰는 등 여러 네이밍 컨벤션을 따름12void glClearBufferfv(GLenum buffer, GLint drawBuffer, const GLfloat *value)//접미사, f(floating point) + v(vector)Colored by Color Scriptercs -..