728x90

렌더링 10

화면 블러 처리 관련 자료 메모

정규 분포 함수도 가우스 함수 중 하나. 흐려짐 수치에 곱하기 유용함. https://www.desmos.com/calculator/trhru2deav?lang=ko 최대값을 1로 한 함수 : https://www.desmos.com/calculator/gkpftewc06 위 함수 값을 가져다가 텍스쳐의 텍셀을 샘플링 한다. 블러의 설질상 해상도를 축소해도 별 문제가 없기 때문에 0.5 스케일로 샘플링 해도 됨. 아래는 셰이더 코드 Shader "Custom/BlurEffect" { Properties { _MainTex("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { ZTest Off ZWrit..

스타 엔진(Star Engine) 알아보고 테크 데모 영상 훑어보기

스타 엔진 테크데모 영상을 봤는데, 좀 감동해서 대략적인 내용들 정리해봄. 스타 엔진(Star Engine)이란? Cloud Imperium Games (CIG) 에서 개발하는 게임 엔진. 개발사의 독점 소유. 스타 시티즌(Star Citizen) 개발을 위해서 만든 엔진. 스타 엔진이 정식 명칭은 아니고, 크라이엔진 3.8버전에서 브랜치를 따서 개발되었고 아마존의 럼버야드 엔진도 관련이 있다고 하는데, 중요한 포인트는 아니니 생략. 광활한 우주 환경을 구현하는데에 초점을 맞추고 있음. 테크데모 영상 메모 먼저 기술 데모 영상 링크는 아래. https://www.youtube.com/watch?v=jfLxMvDp1Lo Features Solar system size game spaces 64-bit la..

DirectX 11 스터디 - MeshRenderer 컴포넌트 (GameObject 완)

렌더링 관련 처리를 담당해줄 MeshRenderer 컴포넌트를 생성. GameObject 에 몰려있던 Device, DeviceContext를 모두 MeshRenderer 로 이동시켜주고 MeshRenderer 의 Render() 함수를 호출해서 렌더링 처리를 하게 해준다. 이제 GameObject 는 DirectX COM 객체를 가질 필요가 없어짐. class GameObject : public enable_shared_from_this { public: GameObject(); ~GameObject() {} void Awake(); void Start(); void Update(); void LateUpdate(); void FixedUpdate(); shared_ptr GetFixedComponen..

DirectX 11 스터디 - Camera 컴포넌트

Camera 컴포넌트를 생성해서 View, Projection Matrix 를 갱신하고, 갱신한 값을 셰이더에서 참조, 연산하도록 수정. 먼저 기존에 GameObject 에서 TransformData 를 갱신하던 코드. Transform클래스의 UpdateTransform 함수에서 World좌표계 변환 Matrix를 만들었다. void GameObject::Update() { _transformData.matWorld = _transform->GetWorldMatrix(); _constantBuffer->CopyDate(_transformData); } void Transform::UpdateTransform() { Matrix matScale = Matrix::CreateScale(_localScale..

DirectX 11 스터디 - 래스터라이저 스테이트, 샘플 스테이트, 블렌드 스테이트

1. 래스터라이저 스테이트를 생성/설정하고 Render() 함수에서 전달해준다. ID3D11RasterizerState 를 생성하고, ~_DESC 에 설정값을 담아 생성한다. 그리고 Render() 함수에서 Pixel Shader 에 적용되도록 전달함. ComPtr _rasterizerState; void Game::CreateRasterizerState() { D3D11_RASTERIZER_DESC desc; ZeroMemory(&desc, sizeof(desc)); desc.FillMode = D3D11_FILL_SOLID; desc.CullMode = D3D11_CULL_BACK; desc.FrontCounterClockwise = false; // 시계방향/반시계방향 = Clockwise / Co..

DirectX 11 스터디 - 상수 버퍼 (Constant Buffer)

버텍스 데이터/매쉬 데이터를 건들지 않고, Shader 에 버퍼 데이터를 넘겨서 버텍스셰이더를 통해 변경되도록 처리해본다. 순서는 아래와 같다. 1. 상수버퍼 생성 2. DeviceContext 에 버퍼 매핑 3. 렌더 함수에서 버퍼 전달 아래는 수정한 코드 블럭들 // 멤버 선언 TransformData _transformData; ComPtr _constantBuffer; // 구조체 선언 struct TransformData { Vec3 offset; float dummy; // 16byte 로 정렬해야 하기 때문에 더미 멤버를 추가. }; // 버퍼 생성 void Game::CreateContantBuffer() { D3D11_BUFFER_DESC desc; ZeroMemory(&desc, siz..

DirectX 11 스터디 - 텍스쳐 UV맵핑 (ShaderResourceView)

이전 노트에서 인덱스버퍼까지 다룸. 2023.09.06 - [게임 개발 자료/게임 개발 스터디] - DirectX 11 스터디 노트 - 도형 만들어보기 (Create Geometry) + 인덱스 버퍼 + 버텍스 셰이더, 픽셀 셰이더 이번엔 Shader Resource View 를 생성해서 png 텍스쳐 파일을 로드하고 버텍스컬러 대신 uv 좌표를 입력해서 폴리곤 위에 텍스쳐를 띄워본다. 1. ShaderResourceVIew 생성 / 리소스 로드 2. 셰이더 수정 3. 랜더링 함수 호출 이 순서로 진행. 1. ShaderResourceVIew 생성 / 리소스 로드 ID3D11ShaderResourceView 생성. 이 때 텍스쳐 리소스도 같이 로드. // ComPtrPSSetShader(_pixelSha..

리얼-타임 렌더링 4판 (REAL-TIME RENDERING 4TH)

리얼-타임 렌더링 4판이 출간되었습니다. 실시간 렌더링에 대한 모든 것들을 담은 바이블. 오랜만에 나온 명서. 묵직한 분량에 하드커버까지. 구입 링크 https://link.coupang.com/a/8VWas 리얼-타임 렌더링 4/e COUPANG www.coupang.com 책이 두꺼워서 무겁습니다. 게임 개발과 실시간 렌더링을 뗄 수 없는 관계인 만큼 좋은 책 부지런히 봐야겠습니다. 구입 링크 https://link.coupang.com/a/8VWas 리얼-타임 렌더링 4/e COUPANG www.coupang.com (링크를 통해 도서 구입시 일정액의 수수료를 지급받습니다.)

알베도(Albedo)와 이미션(Emission) 그리고 디퓨즈(Diffuse)

셰이더 공부를 하다보니 알베도(Albedo) 와 이미션(Emission), 디퓨즈(Diffuse) 등의 용어가 등장하는 경우가 많았는데, 세 가지의 차이점 구분을 위해 메모 해둡니다. 특히 디퓨즈와 알베도는 많이 헷갈렸던 개념이라 최대한 자료들 읽어보고 요약 정리 해봤습니다. ​디퓨즈(Diffuse) 먼저 Diffuse. 셋중에서는 어쩌면 가장 많이 들어본 용어일 겁니다. 그도 그럴 것이, 넓은 범위의 개념을 담고있는 용어이고, 전통적인 게임 텍스쳐를 보통 디퓨즈 텍스처(Diffuse Texture)로 부르며 활용했던 것 같습니다. Unity 5버전 이전에 가장 무난하게 사용하던 셰이더 이름과도 동일하고요. 이 Diffuse 는 사전뜻으로 "확산시키다"라는 뜻을 갖고있는 만큼, 빛 표현에서의 "확산광"과..

검은사막 PC판 그래픽 풀옵션 돌려보기

. 한 달 전에 PC를 맞추고, 언리얼 엔진 돌리는 것 말곤 제대로 뭔가 돌려본적이 없었습니다. PC야 미안해. 까마득한 하이앤드급은 아니지만, 개인적인 예산 내에서 CPU와 그래픽카드에 투자를 좀 하긴 했습니다. https://wonsorang.tistory.com/562?category=823921 PC조립 후기, Ryzen7 3700X 20만원 저렴하게 완 . . 며칠간 PC조립 부품 포스트 모두 완료. 위 사양대로 조립했습니다. 그림에 케이스만 빠졌군요. https://www.youtube.com/watch?v=7jEct3IIXGU 보통 PC 사양을 볼 때는, CPU, VGA, RAM 이 3가지를 대표적으로.. wonsorang.tistory.com 그래서 테스트삼아 PC판 검은사막을 돌려봤습니다..

728x90
반응형