본문 바로가기

Graphics

(8)
[Vulkan] Descriptor, descriptor set, descriptor layout의 관계 DescriptorDescriptor는 shader가 자원에 접근할 수 있게 해주는 handle이다.Vertex shader에서 view matrix, projection matrix 등이 필요한 상황을 생각해보자.이런 matrix 자원들은 매 frame 바뀌기 때문에vertex position 같은 자원들처럼 vertex buffer(GPU memory)에 복사해놓고 사용하기 부담스럽다.그래서 shader가 알아서 접근하도록 손잡이를 만들어준 개념이다. Descriptor Set복잡하게 생각할 것 없이 그냥descriptor 집합이다.(내가 공부하는 예제 프로그램에서는) 각 frame마다 descriptor set이 1개씩 배정되는데,모든 frame의 descriptor set 전체를 descripto..
[Unity] 공놀이 게임 만들기 ★★★ 참고한 유튜브 : 골드메탈
[이론] Single Buffering / Double Buffering / VSync / Triple Buffering 0. Raster Graphics System의 구조와 흐름 ① GPU가 frame buffer(in graphic memory)에 계산된 이미지를 그린다. ② video controller가 frame buffer에 access하여 각 pixel의 r, g, b값 scan. ③ digital-to-analog converter가 digital info -> analog info. ④ electron-beam gun이 screen의 phospher(형광인자)에 빛을 쏜다. ⑤ phospher가 받은 빛의 강도에 따라 환해졌다가 어두워진다. (무한 반복) ① : rendering 과정 ② ~ ⑤ : display 과정 1. Computer Graphics 관점에서의 Frame Buffer Frame buf..
* 일반적인 Rendering Pipeline 정리 Rendering Process (위에서 아래방향)설명input3d virtual world + rendering parametersvertex shadervertex processingcull / clip / setupfixed-function pipelinerasterization이를 기점으로 geometry info -> pixel infofragment shadertexture and fragment processingpre-fragment operationfixed-function pipelineframe buffer (output)그래픽 카드의 graphic memory
[GLUT/openGL] glViewport 함수 실습자료의 코드를 읽다가 glViewport 함수를 발견하였다. 이 함수가 대체 어떤 기능을 하는지 알아보는 과정에서 새로 알게된 용어들도 함께 정리해보려 한다. viewport 란 일단.. 컴퓨터, 휴대폰 등의 장치에서 사용자에게 보이는 부분을 말한다. glutCreateWindow로 만들어낸 window와는 다른 것이다. 이때 glut와 openGL을 단계적으로 구분하는 과정에서 두 종류의 원점이 다른 좌표계가 등장한다. window를 만드는 glut 는 왼쪽 상단이 원점, 만들어진 window에 그림을 그리는 openGL 은 왼쪽 하단이 원점이다. 우선 glut에 의해 window가 만들어질 것이다. 만약 glViewport를 만나지 않으면 window와 viewport는 자동으로 일치된다. 실행 ..
[GLUT/openGL] 그래픽스 프로그램의 흐름 cf. 서강대 [기초컴퓨터그래픽스] 수업의 실습자료1 기준으로 흐름을 따라가보았다. 일반적인 프로그램과 동일하게 entry point는 main 함수이다. main 에서는 각종 초기화 후 main loop를 돌리면서 사용자의 명령에 의한 event를 기다린다. 또한 입력된 event는 callbacks 함수를 통해 처리되는 구조이다. ex) 입력된 event 작동하는 callbacks 렌더링 glutDisplayFunc 마우스 입력 glutMouseFunc 키보드 입력 glutKeyboardFunc 윈도우의 크기 변경 glutReshapeFunc 아무 입력이 없다 glutIdleFunc ▶ main 함수의 흐름 각종 초기화 후 콜백함수를 등록한다. 콜백함수가 등록되었다는 것은 내가 입력받을 모든 even..
[GLUT] 윈도우 시스템과 윈도우 프로그래밍 혼동되는 여러 용어들과 영어 줄임말이 많기 때문에 정리를 해보려고 한다! Windows : microsoft 에서 개발한 os. -> GUI 방식 (그래픽 사용자 인터페이스/키보드로 명령어를 입력하는 것이 아니라 마우스로 아이콘을 눌러 작업을 수행하는 방식) window programming : Windows 운영체제에서 구동되는 응용프로그램 만들기. window system : 창을 추가하는 GUI(그래픽 사용자 인터페이스)
[GLUT/openGL] 기초 용어, 함수 정리 1. 기초 용어 정리 GLUT : openGL Utility Toolkit. 그래픽과는 무관한 기능으로 그래픽을 그리기 위한 껍데기를 만들어준다. freeglut : GLUT 라이브러리 대신 쓰는 오픈소스 GLEW : the openGL Extension Wrangler library, openGL의 헤더파일 -> openGL은 하나의 라이브러리가 아니라서, glew.h를 include하여 openGL의 기능을 사용함. -> openGL 사용을 위해, freeglut, glew의 두가지 라이브러리가 필요하다. opengl directX 공통점 2D/3D graphics API 차이점 세계적 표준. intel, NVIDIA에서 사용. microsoft가 window 전용으로 만듬. cross-languag..