post-thumbnail

인덱스 버퍼 다루기

이전 장에서 버텍스 버퍼를 사용하여 삼각형을 렌더링했습니다. 이번 장에서는 새로운 개념인 인덱스 버퍼를 사용하여 사각형을 렌더링해보겠습니다. 사각형을 그릴 때 인덱스 버퍼를 사용하는 목적과 인덱스 버퍼를 사용하는 방법에 대해 알아보겠습니다.그 다음은 버텍스 어레이를 다

6일 전
·
0개의 댓글
·
post-thumbnail

버텍스 버퍼 다루기

지난 장에서 셰이더를 다루는 법에 대해 이야기했습니다. 버텍스 버퍼를 사용하지 않고 셰이더 안에서 직접 삼각형 버텍스 좌표와 색상을 입력하여 삼각형을 윈도우에 그렸었는데 이번에는 실제 렌더링 파이프라인대로 버텍스 버퍼를 생성하고 버텍스 셰이더에 전달하여 삼각형을 그려보

2022년 9월 16일
·
0개의 댓글
·
post-thumbnail

셰이더 다루기

이번 장에서는 정말로 윈도우에 삼각형을 그려볼 것입니다. 이전 장의 렌더링 파이프라인에서 버텍스 셰이더와 프래그먼트 셰이더는 프로그래밍이 가능하다고 했습니다. 바로 이 셰이더들을 활용하여 윈도우에 삼각형을 그릴 것입니다. 물론 원래는 버텍스 셰이더의 이전 단계인 버텍스

2022년 9월 3일
·
0개의 댓글
·
post-thumbnail

렌더링 파이프라인 훑어보기

지난 장에서 윈도우를 생성하여 화면에 색을 칠하는 것까지 했습니다. 이번 장에서는 간단한 도형을 그려보겠습니다.화면에 원하는 물체들을 그리기 위해서는 먼저 렌더링 파이프라인에 대한 전반적인 이해가 필요합니다. 물체를 어떤 형태로 저장하고 각 파이프라인을 거치면서 어떻게

2022년 9월 1일
·
0개의 댓글
·
post-thumbnail

기본 구조 만들기

이제 OpenGL ES를 사용하여 포트폴리오를 만들 준비가 되었습니다. 처음부터 모든 것을 스스로 만들 수도 있지만 저는 다른 사람이 만든 프로그램의 구조를 이해하고 내 것으로 만드는 것도 좋은 학습법 중 하나라고 생각합니다. 때문에 제가 OpenGL ES를 처음 배울

2022년 8월 29일
·
0개의 댓글
·
post-thumbnail

EGL 사용하기

EGL이 어떤 것인지 알아보았으므로 이번에는 EGL을 사용하여 OpenGL ES을 실행해 보겠습니다.eglGetDisplay 를 호출합니다.대부분의 EGL 함수들을 사용하기 위해서는 EGL display connection 이 필요합니다.eglGetPlatformDis

2022년 8월 28일
·
0개의 댓글
·
post-thumbnail

EGL이란?

EGL Reference Page를 살펴보면 아래와 같은 설명이 있습니다.EGL은 크로노스 렌더링 API(OpenGL, OpenGL ES, OpenVG)와 아래 단의 네이티브 플랫폼 윈도우 시스템 사이의 인터페이스 이다. EGL은 그래픽스 컨텍스트 관리, 서피스/버퍼

2022년 8월 24일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 프레그먼트 셰이더

프레그먼트 셰이더는 프레그먼트를 처리합니다. 기본적으로 프레그먼트는 이전 단계에서 보간된 모든 데이터를 더한 윈도우 상의 위치(X, Y)와 깊이값(Z)입니다.레스터라이제이션을 통해 생성되고 보간에서 속성이 계산된 프레그먼트는 이제 프레그먼트 셰이더로 하나씩 입력됩니다.

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 레스터라이제이션과 보간

이번 색션에서는 그래픽스 파이프라인을 이해하는데 필요한 중요 개념 두 가지를 다룹니다. 바로 레스터라이제이션(rasterization)과 보간(interpolation)입니다. 그래픽스 파이프라인에서 이 두 단계는 고정 함수입니다. 즉, 프로그래밍이 불가능합니다.하지만

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 지오메트리 셰이더

지오메트리 셰이더는 OpenGL 3.2부터 추가된 기능입니다.이 단계는 선택사항입니다. 지오메트리 셰이더가 존재한다면 이전 단계에서 조립된 프리미티브를 입력으로 받습니다. 지오메트리 셰이더는 strips, fans, loops를 입력으로 받지 않습니다. 지오메트리 셰이

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 테셀레이션

테셀레이션은 패치를 입력으로 받고 점, 선, 삼각형 형태의 새 프리미티브를 생성하는 그래픽스 파이프라인의 단계입니다.패치는 버텍스 셰이더에 의해 속성이 계산되는 버텍스 배열입니다. 버텍스 셰이더는 기존과 동일하게 동작하고, 입력으로 패치 버텍스들을 받아서 새로운 버텍스

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 프리미티브 어셈블리

프리미티브 어셈블리 단계에서는 버텍스 셰이더로부터 처리된 버텍스와 어플리케이션에서 OpenGL glDraw\* 류의 명령어에 의해 지정된 버텍스 연결성 정보(vertex connectivity information)를 입력으로 받습니다.버텍스 연결성은 버텍스들이 프리미

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 버텍스 셰이더

버텍스 셰이더는 한 번에 한 버텍스 씩, 각 버텍스에서 실행됩니다. 셰이더에는 그래픽 프리미티브를 구성하는 다른 버텍스에 대한 정보가 없으며, 버텍스가 속한 프리미티브의 타입이 무엇인지 모릅니다. 셰이더는 하나의 입력 버텍스 당 하나의 출력 버텍스를 내보냅니다.각 버텍

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - 파이프라인(OpenGL 3.2 - OpenGL 4.2)

아래 그림은 OpenGL(3.2 버전 이상) 파이프라인의 간략한 다이어그램입니다. 다음 장에서 각 단계에 대해 설명할 것입니다. 괄호 안의 숫자는 파이프라인의 일부 경로에서 요구하는 OpenGL 버전입니다.http://www.lighthouse3d.com/tu

2022년 6월 22일
·
0개의 댓글
·
post-thumbnail

[번역] GLSL Tutorial - Core

GLSL tutorial의 업데이트 버전입니다. 이 튜토리얼에서는 core 버전만 다룹니다. compatibility 버전을 원하신다면 GLSL 1.2 tutorial로 이동하세요.이 튜토리얼의 목적은 GLSL과 OpenGL을 완벽히 설명하여 OpenGL 스펙을 대체하

2022년 6월 22일
·
0개의 댓글
·

Cpp module00 - 클래스(class)

C++의 구조체는 멤버 함수를 포함할 수 있다는 면에서 C의 구조체보다 의미가 확장되었다. 이형 타입 변수의 집합인 구조체가 스스로의 동작을 정의할 수 있다는 것은 객체 지향 구현 측면에서 매우 중요한 의미가 있다.클래스는 확장된 의미의 구조체에 새롭게 붙혀진 이름이다

2021년 9월 7일
·
0개의 댓글
·

Cpp module00 - 네임스페이스(namespace)

식별자 (identifier)는 변수명, 클래스, 구조체, 열거형, 함수, 클래스 맴버 함수, typedef명 등을 정의의 할때 사용된다.식별자 작성 규칙 상 같은 범위에서 식별자가 중복되면 안된다.some이라는 이름으로 변수를 선언했다면 같은 이름으로 다른 변수뿐만

2021년 9월 4일
·
0개의 댓글
·
post-thumbnail

스레드의 개념

하나의 프로세스의 환경 안에서 여러 개의 제어 가닥(thread of control)들이 존재할 수 있다.이러한 제어 가닥 또는 한 줄기의 실행 흐름을 스레드(thread)라고 부른다.한 프로세스 안의 모든 스레드는 동일한 프로세스 구성요소(파일 서술자, 메모리 등)들

2021년 8월 2일
·
0개의 댓글
·
post-thumbnail

메모리 할당

malloc메모리에서 지정된 개수의 바이트들을 할당하는 함수.할당된 메모리의 초기값은 불확정.calloc지정된 개수의 바이트들을 할당하되 그 바이트들을 모두 0으로 초기화하는 함수.realloc이미 할당된 영역의 크기를 늘리거나 줄이는 함수.크기를 늘리는 경우 기존의

2021년 8월 2일
·
0개의 댓글
·
post-thumbnail

C 프로그램의 메모리 배치

앞에서 C 프로그램의 main 함수를 호출하기 전에 C 시동 루틴(start-up routine) 수행한다고 했다. 이 시동 루틴에서 C 프로그램의 메모리 배치 또한 수행한다.CPU가 실행하는 기계어 명령들로 이루어진 텍스트 구역(text segment)초기화되는 변수

2021년 7월 13일
·
0개의 댓글
·