2020 이전 81

2019.03.26 유니티 셰이더 그래프 설치

1. 셰이더 그래프 설치 Window-> Package Manager -> All에 들어가서 Shader Graph를 설치한다. 설치하고 Create->Shader->PBR Shader Graph를 눌러서 만들면 마젠타가 뜬다. 마젠타의 색말은 당신에게 오류가 있어요. 똑같이 package manager에 들어가면 Render-pipelines.high~ Render-pipelines.light~가 있는데 둘 중 아무거나 깔아도(둘 다 깔아도) 실행하는데에는 문제가 없음. 이것을 설치하자. 2. 파이프라인 경량화된 파이프라인(light weighted pipeline)을 설치해보았다. Create->Rendering->Lightweight Pipeline Asset을 생성하고 Edit->Project S..

2020 이전/Unity 2019.03.26

[190323] 볼륨메트릭 라이팅1

위키: https://en.wikipedia.org/wiki/Volumetric_lighting Volumetric Lighting에서는 광원을 방출하는 빛 깔때기를 투명한 오브젝트로 모델하고 그것을 "volume"을 담는 용기로 간주한다. 그 결과로 빛은 볼륨안의 삼차원 medium(안개, 먼지, 연기, 열기)등을 통과하는 효과를 줄 수 있는 능력을 가지게 된다. 렌더링 된 씬에 추가적으로 라이팅을 입히는 기법. 구현상으로는 전체 렌더타겟의 텍스쳐와, 광원, 광원과 광원을 가리는 차폐물을 렌더링한 텍스처 3가지로,광원차폐물 텍스처는 광원은 그대로 렌더링하고 차폐물을 검은색 단색(0,0,0,1)으로 렌더링하여 만들고, 그 텍스처를 전체 렌더타겟 텍스쳐에 이챠이챠 움직여서 더하면 된다고한다. Crepusc..

C++의 까다롭고 유별난 친구들2

전문가를 위한 c++ 10강 공부한거 요약 c++11/ c++14 유니폼 초기화 유니폼 초기화를 사용하면 축소 변환이 일어날 경우 컴파일 에러를 발생시킨다. 유니폼 변환은 STL 컨테이너에도, 동적으로 할당되는 배열에도, 생성자 초기화 리스트에도 이용할 수 있다. 초기화 리스트 생성자 초기화 리스트와는 다르다! 다르다! 속성 사용자 정의 리터럴 C++ 리터럴 표준 1. 문자 'a'2. "character array" 3. float4. 0xab c++11은 리터럴 연산자를 통해 리터럴을 정의할 수 있게 한다.미가공 모드에서는 문자/문자열, 가공모드에서는 int같은 특정 타입의 값을 받는다. 헤더파일 그 다른이름은 순환참조 척결 1. 인클루드 가드 2. #pragma once #ifndef ~ #endif..

2020 이전/C++ 2019.03.22

포워드, 디퍼드 렌더링

https://www.slideshare.net/cagetu/kgc2012-deferred-forward 포워드 렌더링과 디퍼드 렌더링의 차이는 씬을 렌더링하는 파이프라인의 구현 방식에 있다. 1. 포워드 렌더링 전통적인 방법으로 메쉬 하나를 그리면서 모든 계산을 한번에 시행. 라이팅의 계산수는 메쉬의 수에 비례한다. 포워드 렌더링은 여러개의 리얼타임 라이팅을 다루는데 취약하다. 2. 디퍼드 렌더링 많은 수 의 실시간 라이팅(동적 라이팅)을 비교적 좋은 성능으로 처리할 수 있다. 라이팅 패스(조명)과 지오메트리 패스(메쉬)가 분리되어있고 라이팅을 마지막에 처리하기 때문에 화면에 보이는 픽셀의 라이팅을 처리하고, 많은 수의 실시간 라이트들의 드로우 콜에 대한 부담을 줄일 수 있다. 1. 멀티 렌더 타겟을 ..

2019.03.15 큐브맵 스카이박스에 적용시키기

2018.2.2 기준 Cube map 유니티 매뉴얼 : https://docs.unity3d.com/kr/2018.2/Manual/class-Cubemap.html custom map makers skybox download: http://www.custommapmakers.org/skyboxes.php 1장 레거시 실패 어셋창에서 Create>Legacy>Cubemap을 하면 친절하게 6개의 낱장 텍스처를 끌어다쓰면 바로 손쉽게 쓸 수 있게 해준다. 하지만 크래시가 안난다고 하지는 않았지. 계속 컴퓨터에서 크래시가 나서 포기함 2장 큐브맵 레이아웃 고개를 들어 포토샵을 보아 큐브맵 레이아웃을 직접 만들어보자커스텀 맵 메이커에서 스카이박스를 골라 적당히 다운받고 위에 제시된 레이아웃을 따라 right, ..

2020 이전/Unity 2019.03.15

C++의 까다롭고 유별난 친구들

전문가를 위한 C++ 10강 공부 요약 참조형: 참조는 다른 변수에 대한 alias(별명)참조형 변수는 항상 생성시점에 초기화해야한다.( 멤버 변수인경우 클래스 생성자 초기화 리스트에서 초기화 되어야한다. ) 참조와 포인터의 선택 기준. 1. 포인터와 달리 참조는 유효하지 않는 데이터를 가리키는 것이 거의 불가능한다.2. 역참조 연산을 할 일이 없으므로 포인터를 사용하면 접할 수 있는 역참조 오류를 볼 일이 없다.3. 참조형 파라미터로는 디폴트 값을 지정할 수 없다. 포인터는 파라미터에서 nullptr과 같은 디폴트값 지정 가능4. 해당 메모리를 누가 소유하고 있는가. 변수를 넘겨받는 측이 객체와 관련한 메모리를 해제해야한다면 포인터를 사용, 포인터를 사용해야하는 유일한 상황은 가리키는 대상을 바꾸어야 ..

2020 이전/C++ 2019.03.13