일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- shader
- vertex
- visualstudip
- fragment
- qtspim stack
- vertexarrayobject
- glDrawArrays
- .sln
- 자동판결
- multi process
- 수리명제
- 하나의 솔루션
- fetching
- Qtspim
- 멀티프로세스
- git
- vertex sahder
- superbible
- glfw
- 정의
- 프로젝트 여러개
- 솔루션에프로젝트추가
- 파일생성 명령어
- Tutorial
- interface block
- OpenGL
- turingmachine
- 시작
- 튜링기계
- VAO
- Today
- Total
목록분류 전체보기 (46)
공사중
버텍스 패치 버텍스 쉐이더 테셀레이션 컨트롤 쉐이더 테셀레이션 테셀레이션 이벨류에이션 쉐이더 지오메트리 쉐이더 래스터라이제이션 프래그먼트 쉐이더 프레임버퍼 동작 Tessellation : 조각화 tesellation은 고차 primitive(openGL에서는 patch라고도 함)을 여러 개의 rendering이 가능한 primitive로 분할하는 작업입니다. 위 순서도에서 볼 수 있듯이 세 개의 단계로 구성됩니다. Tessellation Control Shader tesellation control shader 쉐이더는 vertex shader로부터 입력을 받아서 주로 두 가지 일을 진행합니다. tesellation engine에 보낼 tesellatino level을 결정한다. (engine에 보내는 ..
버텍스 패치 버텍스 쉐이더 테셀레이션 컨트롤 쉐이더 테셀레이션 테셀레이션 이벨류에이션 쉐이더 지오메트리 쉐이더 래스터라이제이션 프래그먼트 쉐이더 프레임버퍼 동작 vertex fetch부터 vertex shader까지 openGL에서 첫 번째 프로그래밍가능 스테이지이자 유일한 필수 스테이지인 vertex shader stage이전에는 vertex fetch 스테이지가 실행됩니다. GLSL에서 쉐이더로 데이터를 가져오거나 보내는 작업은 in/out 키워드를 사용해서 전역변수를 선언하는 방식으로 이루어집니다. 이전에 작성했던 fragment shader에서 out 키워드를 사용해서 색상을 출력했습니다. 이처럼 이전 쉐이더에서 out 키워드를 포함하고, 다음 쉐이더에서 in 키워드를 포함하는 방식으로 데이터를 ..
솔루션과 프로젝트의 차이 프로젝트란 하나의 실행 파일(exe)을 만들어 내기 위해서 필요한 여러 개의 소스 파일과 헤더 파일 등을 하나로 묶어 놓은 것을 말합니다. 프로젝트 파일 : 프로젝트이름. vcproj 솔루션이란 여러 개의 프로젝트가 모인 것이며, 프로젝트를 생성하는 과정에서 프로젝트와 동일한 이름으로 자동 생성됩니다. 응용 프로그램마다 하나가 존재합니다. 솔루션 파일 : 솔루션 이름.sln 응용 프로그램은 아래의 사진에서 선택하는 것들입니다. 여러 개의 프로젝트를 하나의 솔루션으로 만들기 또는이미 존재하는 솔루션에 프로젝트 추가하기
일단은 본 내용을 눈으로 보면서 이해합니다. 실제로 실행해보는 것은 필요할 때에 언급하겠습니다. 빈 윈도우 띄워보기 #include "sb7.h" class my_application : public sb7::application { public: void render(double currentTime) { static const GLfloat red[] = { 1.0f, 0.0f, 0.0f, 1.0f }; glClearBufferfv(GL_COLOR, 0, red); } }; DECLARE_MAIN(my_application); 먼저 sb7.h를 include 합니다. 이 헤더파일은 sb7라는 namespace를 정의하고 그 안에 applicaion이라는 이름을 가지는 class를 정의합니다. 우리는 ..
프로젝트 빌드하기 여기에서 openGL SuperBible의 샘플 코드를 다운받습니다. 원하는 위치에 압축을 해제합니다. 여기에서 Cmake를 다운받습니다. CMD를 열고 cmake라고 입력했을 때 아래와 같은 화면이 나오지 않는다면 path를 추가합니다. {2.에서 압축을 해제한 위치}\sb7code-master\extern\glfw-3.0.4로 이동한 다음, 아래의 코드를 CMD에 입력합니다. '.'까지 입력해야합니다. cmake -G "Visual Studio 15" . {2.에서 압축을 해제한 위치}\sb7code-master\extern\glfw-3.0.4에 생긴 GLFW.sln파일을 VS2017로 실행해서 아래의 두 버전으로 빌드합니다. 아래 디렉토리에서 debug 파일 안에 있는 glfw3...
openGL이란? openGL의 GL은 Graphics Library를 의미합니다. openGL은 애플리케이션이 그 하부에서 동작하는 장치의 그래픽스 서브시스템에 접근하고 제어하기 위해 사용하는 인터페이스입니다. 서브시스템에 대한 인터페이스를 표준화하면 다양한 플랫폼에 대해서 고민하는 것이 아니라, 흥미로운 컨텐츠를 개발 하는데 집중할 수 있습니다. 이렇게 표준화된 Application Programming Interface를 API라고 부르고 openGL은 API입니다. openGL의 목표 openGL의 목표는 애플리케이션과 그 하부의 그래픽스 서브시스템의 추상화 레이어를 제공하는 것입니다. 이 말은 그래픽스 서브시스템을 구성하는 그래픽스 프로세스 유닛(GPU)의 제작사가 어디인지, 어떻게 동작하는지,..
youtube에서 openGL를 사용해서 마인크래프트를 일주일 프로젝트로 만드는 영상을 보고 openGL을 배워야겠다는 생각을 처음 했습니다. 안드로이드 프로그래밍이 생각보다 취향에 잘 안맞는다는 생각이 들었고, 이 이후 오랜만에 관심이 가는 분야가 생겼습니다. 이제부터 OpenGL에 대해서 차근차근 알아보려고 합니다. 이전 포스팅에서 조금 다루긴 했지만 'OpenGL Super Bible'이라는 책을 보면서 다시 정리하려고 합니다. 누가 언제봐도 그대로 따라할 수 있을 정도로 깔끔하게 정리해보려고 합니다.