전체 글
-
컴퓨터 그래픽스 10장 - 출력 병합 -Computer Graphics 2024. 5. 11. 00:08
Color buffer: 스크린에 보여 줄 픽셀을 보관하는 메모리 공간Depth buffer: color buffer에 저장된 픽셀의 z 값을 가지고 있는 메모리 공간 Z-buffering겉으로 드러나지 않을 뿐 z가 따로 계산되어 저장됨 파란 삼각형을 이루는 모든 픽셀의 z 값은 0.5(0에 가까울 수록 앞에 있음)빨간 삼각형을 이루는 모든 픽셀의 z 값은 0.8으로, 빨간 삼각형 먼저 그린 뒤 파란 삼각형을 그림(그 반대의 순서도 가능함) z buffer은 1.0으로 초기화되어 있고, 1.0보다 작은 값이 들어왔으므로 덮어 씌움 Alpha Blending알파 채널은 [0, 1]의 범위를 가진다0: 투명1: 불투명 알파 값이 1인 삼각형 먼저 그리고, 뒤에서 앞 순서로 그려야 제대로 렌더링됨
-
Unreal Engine5 LNK 외부 참조 에러 대부분 이걸로 해결Unreal Engine 2024. 5. 9. 19:37
https://coding-hell.tistory.com/17 [UE4] LNK2001 LNK2019 ERROR 해결법원인 언리얼에서 어떠한 클래스를 상속받은 새로운 C++클래스를 만들었을 때 컴파일하면 에러가 발생하고, 에디터를 다시 켜봐도 켜지지 않는 경우가 발생한다. 삽질한 결과 LNK에러는 링크할 때coding-hell.tistory.com 작성자분 몹시 감사합니다... 1. 오류 나는 클래스 project.build.cs 모듈 추가 확인2. 오류 나는 클래스 헤더에는 생성자가 선언되어 있는데, cpp 파일에 구현 안 되어있는지 확인
-
컴퓨터 그래픽스 9장 - 라이팅-Computer Graphics 2024. 5. 4. 20:59
Phong Ligting modelDiffuse Term(난 반사)- directional light source (e.g. 태양)1) 멀리서 빛이 비추기 때문에 장면을 구성하는 모든 오브젝트에 입사하는 빛은 같은 방향(각도)을 가진다2) 난반사 시 모든 방향에 색이 동일하게(동일한 세기로 비추기 때문에) 보임 결과:난반사: max(cosθ, 0)*빛과 색의 내적 Specular Term (정반사) 결과: Ambient and Emissive TermsAmbient(배경광... 간접 조명) Reflection모든 방향에서 빛이 들어와, 모든 방향으로 반사됨 -> normal vector 의미 없음 Emissive(발광) Reflection 최종 결과 (Phong Lighting Model) Per-f..
-
컴퓨터 그래픽스 8장 - 이미지 텍스처링 -Computer Graphics 2024. 5. 4. 00:38
Texture Coordinates Scan Line을 따라 보간을 수행함 texture(2D { s, t } 공간)를 보간해서 fragment(3D 공간)에 씌워야 함texture는 [0, 1] 범위에 (s, t)로 정규화되어 있음 Surface Parameterization 정점마다 (s, t)를 할당하는 방법 Texture Filtering (magnification & minification 확대와 축소)확대의 경우, texel보다 fragment(pixel)가 많다축소의 경우, texel보다 fragment(pixel)가 적다 Filtering for Magnification1. Nearest point sampling (부작용 - 모자이크(계단) 현상)2. Bilinear interpol..
-
Gameplay Ability SystemUnreal Engine 2024. 4. 30. 22:19
액터가 소유하고 발동할 수 있는 어빌리티 및 액터 간의 인터랙션 기능을 제공하는 프레임워크 액터에 GAS 적용하는 방법 1. 헤더에 AbilitySystemInterface.h를 include한다. (public IAbilitySystemInterface 추가)2. ASC를 리턴하는 함수를 상속받는다.virtual class UAbilitySystemComponent* GetAbilitySystemComponent() const override { return ASC; };3. ASC를 저장할 포인터를 생성한다.UPROPERTY(EditAnywhere, Category=GAS)TObjectPtr ASC;4. 생성자에서 ASC를 생성한다.ASC = CreateDefaultSubobject(TEX..
-
컴퓨터 그래픽스 7장 - 래스터라이저 -Computer Graphics 2024. 4. 29. 21:08
래스터라이저의 작업 순서Clipping -> Perspective division -> Back-face culling -> Viewport transform -> Scan conversion ClippingView Frustum Perspective division (원근법으로 나누기)네 번째 행이 { 0, 0, -1, 0 }인 것이 특이함 w 크기로 나누어 원근법을 구현할 수 있음 하드웨어가 다 해 주기 때문에 그냥 이해만 하고 넘어가면 됨 Back-face Culling카메라에 보이지 않는 삼각형(back face)은 culling 해야 함 (골라내서 버린다)선분 하나로만 보이는 삼각형(edge-on face)은 c3와 n3의 내적이 0이면 수직이므로 알아낼 수 있음 z를 무시하고 x, y축만 ..
-
컴퓨터그래픽스 6장 - OpenGL ES와 셰이더 -Computer Graphics 2024. 4. 29. 20:33
고려대학교 한정현 교수님의 컴퓨터그래픽스 강의 영상을 보고 작성한 포스트입니다 https://www.youtu be.com/watch?v=Jvz0XPSRbx4&list=PLYEC1V9tJOl03WLDoUEKbiYW_Xt4W6LTl&index=1 OpenGL ES 3.0 API - shading language를 사용함 GLSL: OpenGL의 Shader Language vec4(4D 벡터), ivec3(int형 3D 벡터), mat3(3차원 행렬) 등 행렬에 최적화된 자료형을 제공하나 전반적으로는 C와 비슷함 Vertex ShaderAttribute: 포지션, 노멀 벡터 등 vertex array를 구성하는 요소Uniform: World transform, view transform 등 셰이더에 모든 ..
-
컴퓨터 그래픽스 5장 - 정점 처리(Vertex Processing) -Computer Graphics 2024. 4. 29. 03:20
고려대학교 한정현 교수님의 컴퓨터그래픽스 강의 영상을 보고 작성한 포스트입니다 https://www.youtu be.com/watch?v=Jvz0XPSRbx4&list=PLYEC1V9tJOl03WLDoUEKbiYW_Xt4W6LTl&index=1 GPU Rendering Pipeline Vertex Shader L이 non-uniform scaling을 포함할 경우, 삼각형의 법선 벡터가 수직이 아니게 됨 이럴 때 L의 역을 트랜스포즈하면 수직이 나옴 View Transformworld space에 있는 camera space로 변환 EYE: camera positionAT: 카메라가 조준된 점UP: 카메라의 업 벡터 world space 말고도 camera space가 존재함 camera 좌..