| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 폭설 #미친 날씨
- Toon Shading
- 백준
- A* Algorithm
- 메테리얼
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- Harvard
- c++ 베이직
- CS
- 코드리뷰
- Unreal
- STL
- UE_5
- Console
- 원카페#무인카페#카페추천#카페맛집
- C++
- Gas
- build.cs
- 브론즈
- Module
- topdownmove
- 언리얼
- 네트워크 기초
- 헤더 경로
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- 툰쉐이딩
- 순환 리스트
- leetcode
- CS50
- Today
- Total
목록전체 글 (113)
WN_인생기록
앞에 포스트에서 기초 세팅이 끝났으니, Update를 해야한다.(아직 그려진거 없음) virtual bool OnUserUpdate(float fElaspedTime) { // 노드의 사이즈와 두께를 정해준다. int nNodeSize = 9; int nNodeBorder = 2; // 마우스 위치를 기반으로, 노드 단위의 위치 식별 int nSelectedNodeX = m_mousePosX / nNodeSize; int nSelectedNodeY = m_mousePosY / nNodeSize; // 마우스를 놓으면 if (m_mouse[0].bReleased) { // 맵의 노드 범위 안에서 if (nSelectedNodeX >= 0 && nSelectedNodeX < nMapWidth) { if (n..
맨날 나중에 배워야지 하고 넘어갔던 부분이다. 정의는 프로그램내에서 동시에 실행될 수 있는 실행 단위를 뜻한다. 멀티 스레드란 하나의 프로세스 안에서 여러 스레드를 생성하여 병렬로 작업을 처리할 수 있게 하는 기능이다. #include #include using namespace std; void makelog() { cout
노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합. 여기서 노드는 서버, 라우터, 스위치 같은 네트워크 장비를 의미한다. 링크는 유선, 무선 같은 연결망을 의미한다. 네트워크를 구축할때는 트래픽을 항상 고려해야 하는데, 링크에는 대역폭이 존재한다. 이 대역폭이 넓을 수록 많은 트래픽을 감당할 수 있고 bps 라는 단위를 가지고 있다. 대역폭의 정의는 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수를 의미한다. 지연시간(latency)이란 요청이 처리 되는 시간을 의미하는데, 어떤 메세지가 두 장치 사이를 왕복하는데 걸린 시간을 뜻한다. 만약 컴퓨터에서 라우터 까지 800ms 가 걸리고, 다시 라우터에서 컴퓨터까지 700ms이 걸린다면 지연시간은 800+700 을 해서 1.5s..
프로그램을 설계할때 발생했던 문제점들을 객체 간의 상호 관계 를 이용하여 해결할 수 있는 패턴 형태로 만들어 놓은 것을 의미합니다. 싱글톤 패턴 : 시스템 전체에서 단 하나의 객체만 생성하고 관리하는 패턴입니다. 팩토리 패턴 : 객체 생성 로직을 분리하여 클라이언트 코드에서 숨기는 패턴입니다. 옵저버 패턴 : 객체의 상태 변화를 관찰하고 업데이트를 받는 패턴입니다. 프록시 패턴 : 실제 객체를 대신하는 객체를 제공하는 패턴입니다.
이어서 보자면 Custom depth 만 화면에서 보려고 하면 까맣게 되서 아무것도 안보이게 된다. 원하는 객체에만 효과를 적용하려고 하면 객체 메뉴에서 Render Customdepth Pass 를 체크 해주면 이렇게 보이게 된다. 이 기능은 Outline에서도 사용되기도 한다. 이후에 메테리얼에서 SceneTexture의 CustomDepth-> Component mask (R채널) 을 1-x 해줘야 한다. 1- 는 기존의 내용을 뒤집는 역수같은 느낌이라서 CustomDepth 있는 부분만 아까 했던 렌더링 처리가 되고 나머지는 원래 색감대로 렌더링 되는 것이다. 이후에는 Outline에서도 고려할 문제가 나타나는데, CustomDepth를 기준으로 렌더링 되다보니, 다른 액터에서 가려져도 Custo..
https://youtu.be/icZj67PTFhc?si=qGwdtC5PYNqeaHSr 이분의 영상 자료와 C++ 콘솔로 그래픽 엔진을 제공해줘서 이분의 코드를 분석해볼 예정이다. (이 분이 제작하신 콘솔 게임 엔진에 대한 코드 리뷰도 따로 진행할 예정) 코드 분석을 위한 간단한 양식을 생각해봤다. 코드의 목적 코드의 구조 파악 핵심 로직 분석 함수, 클래스 계층 구조 파악 성능구조 및 리팩토링 부족한 문서화 보충 이런식으로 진행할 예정이다. 코드의 목적 -> A* 알고리즘을 가시적으로 보이게 하고, 그 원리를 이해할 수 있도록 구현. 코드의 구조 파악 클래스 PathFinding -> 콘솔 게임 엔진 헤더 상속받음 virtual로 상속받은 UserCreate 와 UserUpdate 안에서 배경 및 UI..
누적되어있는 자료들이 네이버 블로그와 Notion에 있습니다. C++, CS, 게임수학, Unreal tip, Unreal command, 코드 리뷰 등등 그간 공부한 내용들을 정리한 포스트들이 있는데, 시간이 쌓이면서 공부했던 내용들을 다시 보니 이것저것 손볼게 많습니다. 다시 새롭게 머리에 넣을겸 차근차근 올릴 예정입니다. 하루 포스트 15개가 최대인데, 다 맞춰서 올리는 날도 있고, 적게 올리는 날도 있을텐데 현재 공부와 연관짓거나 취업에 관련된 내용들을 추가하거나 보충해서 올리겠습니다. https://blog.naver.com/lv_upgrade
1. 카툰 렌더링은 일단 라이트 버퍼를 따로 추출해야 함 2. 원래 Gbuffer에 있는 RGB 색깔을 곱한 값을 Emissive Color의 결과값에 대입한다. 여기부터 다시 시작해야하지만 좀더 심화적인 이해를 위해서 처음 단계부터 다시 시작해 보자 처음에, 메테리얼을 제작하고, 포스트 프로세스라고 설정한 뒤에. Scenetexture의 postprocessinput의 컬러를 설정한다. Desaturation ( 채도 감소 )을 통해서 채도를 낮추고, saturate( 값을 0과 1 사이로 제한하는 기능 ) 를 통해서 component Mask(특정 색상 채널 추출)에서 R 값만 추출해준다. 이를 바로 적용하면, 화면이 흑백으로 바뀌게 된다. 여기서 툰쉐이딩의 핵심인, 빛과 그림자의 전환 영역을 단순하..