| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- Mipmap
- vertex shader
- c++
- 스택
- im뱅크
- 취준
- 디퍼드 렌더링
- 어레이
- batches
- UnReal
- Tesselation
- 이중우선순위큐
- occlusion culling
- 데이터분석
- std::vector
- Output Merge
- Fetching
- Stack
- DrawCall
- 힙
- priority_queue
- 개발자면접
- bvh
- 코딩테스트
- 포워드 렌더링
- graphics rendering pipeline
- Input Assembler
- SetPass Call
- 그래픽스 파이프라인
- rasterization
- Today
- Total
목록전체 글 (25)
평생 배우는 개발자
1. Mipmap의 정의Mipmap(Multum In Parvo Map)은 텍스처 매핑에서 성능과 품질을 향상시키기 위해 사용되는 기술로, 텍스처의 여러 해상도 버전을 계층적으로 저장한 데이터 구조입니다. 일반적으로 가장 높은 해상도의 원본 텍스처와 함께, 점점 낮은 해상도로 축소된 텍스처들이 포함됩니다. 이러한 텍스처들은 보통 12n\frac{1}{2^n}2n1 크기로 다운스케일됩니다.2. Mipmap의 특징각 단계의 텍스처는 이전 단계의 텍스처 크기의 절반(가로와 세로)입니다.마지막 단계의 텍스처는 최소 1x1 크기를 가집니다.각 단계는 하나의 텍셀이 원래 텍스처의 점점 더 큰 영역을 대표합니다.3. Mipmap의 작동 방식텍스처 매핑 시, 렌더링에서 픽셀 크기에 따라 적절한 해상도의 텍스처를 선택..
1. Texture Fetching이란?Texture Fetching은 GPU가 메모리에 저장된 텍스처 데이터를 샘플링(Sampling)하여 셰이더에 제공하는 프로세스를 뜻합니다. 이 과정은 주로 Fragment Shader나 Compute Shader에서 수행되며, 실시간으로 픽셀 데이터를 계산하거나 후처리에 사용됩니다.2. Texture Fetch의 동작 과정텍스처 좌표(UV Coordinates) 제공보통 2D 텍스처의 좌표는 (u, v)로 표현되며, 0~1의 정규화된 범위를 가집니다.텍스처 좌표는 Vertex Shader에서 계산되고 일련의 과정을 거쳐 Fragment Shader로 전달됩니다.샘플러(Sampler)를 통한 데이터 요청텍스처는 sampler2D, samplerCube 등으로 GPU..
서론그래픽스 관련 개발자 면접 중 필수 질문인 렌더링 파이프라인에 대한 질문에 AtoZ를 술술 말할 수 있게 준비해 보자본론렌더링 파이프라인이란?3차원의 오브젝트를 2차원인 스크린에 띄우기 위해서 거쳐야 하는 과정이다.설명을 위해 간단한 예시와 함께 설명하겠다. 예시로 정육면체에 대해서 그려보자Input Assembler - position, normal, uv, color 등에 대한 정보를 담고 있는 vertex와 각 vertex의 순서를 담고 있는 index를 buffer라는 메모리에 담아서 GPU가 잘 읽을 수 있게 정리하여 CPU로부터 보낸다. 이후 GPU가 이 정보들을 읽어서 포지션을 바꾼다. CPU에서 보낸 position은 모델에 대한 좌표이기 때문에 model->world space ->..
서론우리는 수학시간 때 내적과 외적에 대해서 배웠었다. 물론 단지 수학문제를 풀기 위해 배우고 썼었는데 게임을 제작하거나 그래픽스 데모를 제작할 때 등 여러 분야에서 실제로 쓰인다. 어떻게 쓰이는지 알아보자본론내적이란?영어로는 dot product이다. 두 벡터 사이에 dot을 적으면 내적을 나타내는 말이다 예를 들어 a벡터와 b벡터를 내적한다 라고하면A○B로 나타낼 수 있고 , 결과를 보면 A○B = ||A|| ||B|| cos θ이다.만약 각각의 벡터 성분을 알고 있다면 다음과 같이 나타낼 수 도 있다.A = (a1, a2), B=(b1, b2)A○B = a1*b1 + a2*b2;또는 sqrt(a1^2+a2^2) * sqrt(b1^2+b2^2) * cos θ 로 나타낼 수 있다.즉 θ 를 알고 있다..
서론함수를 호출할 때 매개변수를 지정한다. 이때 const나 &나 여러 가지 키워드들이 붙는 경우가 있다. 이에 대해서 자세히 알아보자 본론&는 레퍼런스 즉 참조를 할때 붙이는 키워드이다. 기존에 정의된 어떠한 변수에 해당 &를 붙이면 그 변수의 주솟값을 얻을 수 있었다.하지만 우리가 함수를 부를때 매개변수로서 &를 쓰는 것은 그 쓰임새가 다르다.&를 붙이면 해당 변수를 복사해서 넘기는 것이 아니라 해당 변수의 참조 즉 주소가 넘어가기 때문에 값을 복사해서 넘길 필요가 없으니 복사는 일어나지 않는다. 따라서 우리가 넘겨야 할 매개변수의 크기가 크다면 참조 매개변수로 넘기는 것이 메모리 측면에서 유리하다. 예를 들어vector vec(1000,0); functionA(vector v);위 벡터를 fu..