묻공러
'분류 전체보기' 카테고리의 글 목록 (10 Page)

분류 전체보기

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 시스템

언리얼 빌드 시스템Unreal Header Tool과 Unreal Build Tool을 통해소스코드를 다양한 빌드 구성으로 빌드되게 하는 시스템이다 Unreal Header Tool의 핵심적인 기능은 .generated.h 파일의 생성하고이는 언리얼만의 매크로 함수를 전처리하기 위해 사용된다Unreal Build Tool은 소스코드가 해당 컴퓨터의 OS에 맞게 프로젝트를 재생성한다 언리얼 모듈 시스템모듈은 컴파일된 바이너리 파일(.dll, .lib)을 의미한다각 모듈 폴더에는 .Build.cs 파일이 있으며,해당 파일에는 모듈의 종속성과 필요한 라이브러리, 인클루드 경로 등이 적혀있다 모듈(Module)의 종류는 아래와 같다게임 모듈(Game Module): 소스코드에 게임 로직이 포함된 모듈주 게임 모..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 에디터

언리얼 에디터 구성Toolbar: 프로젝트 설정과 실행 등 언리얼 에디터의 주요한 기능들이 있는 창이다 Viewport: 레벨이라 불리는 3차원의 게임 스테이지를 설계하고 볼 수 있는 창이다 Outliner: 레벨을 구성하는 단위 요소인 Actor의 목록을 관리하는 창이다 계층 구조 및 폴더 생성 등의 기능을 사용해서 효과적으로 Actor들을 관리할 수 있다 Details: Viewport 혹은 Outliner에서 선택한 Actor의 속성 값을 확인하고 편집하는 창이다 Content Browser, Content Drawer:게임 제작에 사용하는 에셋 및 파일들을 관리하는 창 언리얼 프로젝트 폴더 구성 요소중요한 폴더는 아래와 같다Config: 프로젝트의 설정 값이 있는 폴더이다 Content: 프로젝트..

영어/[BOX ENG] 영숙어

[영숙어] 최종 테스트용

보호되어 있는 글입니다.

그래픽스/[전북대] OpenGL

[OpenGL Note] Output Merger - Alpha Blending

Alpha Blending Alpha Blending은 물체의 투명도에 따라 색의 계산을 다르게 적용해 주는 것이다 alpha 값은 0 ~ 1로 구성되어 있으며 0에 가까울 수록 불투명하고 1에 가까울 수록 투명하다 Alpha Blending을 계산하기 위해서는 0과 1 사이의 가중치를 통해 계산한다 Transparent Sorting z-buffering의 경우는 렌더링 순서와 상관이 없지만 alpha blending은 반드시 뒤 쪽부터 그려줘야 한다 따라서 투명한 오브젝트들의 sorting이 필요하다 추가적으로, 오브젝트들은 geometry, alpha, transparent 순으로 그려진다 Alpha Blending in OpenGL Alpha Blending을 사용하기위해서는 glEnable을 통..

그래픽스/[전북대] OpenGL

[OpenGL Note] Output Merger - Z buffering

Output Merger fragment shader를 통해 나오는 fragment color를 바로 viewport에 그리지 않고 마지막으로 frame buffer들을 통해 output merger 단계를 거친다 Frame buffer Frame buffer에는 Color buffer, Depth buffer, Stencil buffer가 있다 Color buffer는 픽셀의 색상을 저장하는 버퍼이다 Depth buffer(z-buffer)는 픽셀의 z축 값을 저장하는 버퍼이다 Stencil buffer는 특정 영역을 그릴 때 무시하거나 그리지 않도록 하는데 활용되며 그림자를 구현할 때 주로 사용된다 RGBZ rasterizer는 z-좌표뿐만 아니라 법선과 텍스처 좌표도 보간한다 z값은 fragment..

그래픽스/[전북대] OpenGL

[OpenGL Note] Lighting - Ambient, Emmisive

Ambient Term 특정한 빛이 들어오는 것이 아닌 간접적으로 빛들이 다양한 형태로 들어오는 경우를 의미하고 빛의 source를 정확히 알 수 없기 때문에, 물체의 주변광 ambient 색과 물체의 material ambient 색을 곱해서 계산한다 Emmisive Term material 표면 자체가 빛을 발산하는 경우이고 materail의 emmisive 값 만으로 계산이 된다 Phong Lighting Model diffuse, specular, ambient, emissive를 모두 합한 것이 바로 Phong Lighting Model을 적용한 것이다 Per-fragment Lighting fragment shader에서 라이팅을 위해서는 l, n, r, v 값을 알아야 하고 해당 값들을 fr..

그래픽스/[전북대] OpenGL

[OpenGL Note] Lighting - Diffuse, Specular

Lighting Lighting은 lights와 objects의 상호작용을 관리하는 기술이다 대표적이었던 방식 중 하나는 Phong Model 방식이다 최근에는 PBR(Physically Based Rendering) 방식이 대중화되었다 하지만 이론적으로 배우기 쉽지 않기에 Phong Model 방식으로 Lighting의 개념을 배우는 것이 추천된다 Light source 광원에는 총 4가지 종류의 광원이 있다 이 글에서는 Directional light를 기준으로 Phong Model을 설명한다 Directional light는 태양과 같은 light이고 light의 방향은 물체의 위치와 관련 없이 동일하게 방사된다는 점을 기반으로 한다 - Directional light : 태양과 같은 light -..

그래픽스/[전북대] OpenGL

[OpenGL Note] Fragment Shader

texCoord in Vertex Shader texCoord는 그대로 넘겨주면 rasterizer의 Scan Conversion을 통해 처리된다 Fragment Shader Fragment Shader는 픽셀에 색상을 입히는 처리를 하는 부분이다 Fragment Shader로 넘어올 때, texture는 Uniforms로 넘어오게 된다 전체적으로 정리하면 아래와 같다

그래픽스/[전북대] OpenGL

[OpenGL Note] Texture Wrapping과 Texture Filtering

Texture Wrapping Mode texture wrapping mode를 활용하면 (s, t)가 0, 1 범위가 아닌 경우에도 쉽게 활용할 수 있다 0, 1 범위 밖에서 texture coordinates에 맞게 어떻게 색상을 표시할지 옵션을 정해서 결정할 수 있다 Clamp-to-Edge 1 이상의 좌표를 모두 1의 좌표로 계산한다 Repeat (1, 1)을 (0, 1)로 계산한다 Mirrored-Repeat (1, 1)을 (0, 9)로 계산하고 좌우반전이 된다 S(Repeat) + T(Mirrored-Repeat) 각 축에 따라 다른 설정을 할 수도 있다 S축은 Repeat을 하고 T축은 Mirrored-Repeat을 할 수 있다 Texture Filtering 픽셀과 텍셀의 개수가 동일하지 ..

그래픽스/[전북대] OpenGL

[OpenGL Note] Image Texturing

Fragment shader Rasterizer 단계에서 Scan Conversion을 통해서 프래그먼트들의 정보를 다 넣어줬고 이러한 정보를 활용해서 색을 칠해서 픽셀을 만들어주는 과정이 fragment shader에서 진행되는데 픽셀을 만들어주는 과정 중에 대표적인 것이 Lighting과 Texteuring이다 Texture Coordinates 다양한 텍스쳐링 방법 중 하나는 image texturing이다 image texturing은 모델에 이미지를 입히는 것을 의미한다 텍스쳐는 fragment의 pixel처럼 texels(texture elements)의 형태로 구성되어 있다 Texturing 아티스트가 modeling 단계에서 텍스쳐링을 위해 (s, t) 혹은 (u, v) 형태의 textur..