728x90
[여행/사진] 해외여행 일본 존잼 도시 나고야 (1~2일 차/3박 4일)
🙋🏻‍♀️ pinko/◽ 일상&사진2024. 1. 24. 17:38[여행/사진] 해외여행 일본 존잼 도시 나고야 (1~2일 차/3박 4일)

친구들과 매번 가자 ~~ 이번 연도에 가자 다음 연도에 가자면서 계속 미뤘던 여행 하지만 2024년 1월 18일. 진짜 다녀왔다. 그리고 너무 재미있었고 맛있었던 여행이었다. 원래는 시라카와 고와 게로 가는 계획이었지만 지진이 일어난 이시카와현과 가까워서 취소하고 3박 4일 올 나고야 여행이었다. 일본의 노잼도시라고 불리는 나고야이지만 무슨 소리!? 존잼도시다. 자 이제 시작 ~2024년 01월 18일 목요일 / 날씨: 약간 비 💧11시 10분 비행기였고 해외여행 마스터인 친구가 3시간 전에는 도착해야 한다 해서 공항버스 6시 30분 차로 예약! 저 아주 부지런 하죠 ~? 하하 그렇게 한 시간 반 동안 기절. zzzZzzZZ인천공항에 도착하고 나보다 일찍 온 프리티걸스 서씨와 최씨를 만나서 탑승수속 완..

[Framework] 1. 사용자 지정/정의 메세지(Message) 사용하기, 메시지 맵(MFC)
👨🏻‍💻 programming/◽ Framework2024. 1. 16. 16:57[Framework] 1. 사용자 지정/정의 메세지(Message) 사용하기, 메시지 맵(MFC)

일하다 "#define ID_MYMESSAGE WM_USER+1" 이런 식으로 정의 된 디파인을 보고 WM_USER가 무엇이며.. 어떻게 사용하는지 궁금해서 정리해본다..위와 같은 정의는 사용자 지정/정의 메세지를 사용하기 위한 messageID를 부여하는 코드 였으며 메시지 맵을 만드는 과정은 아래와 같다. 1. 사용자 정의 함수를 만든다. (메시지 핸들러를 정의한다.) 사용자 정의 함수는 정해진 함수틀(원형)이 있다. 아래와 같게 함수틀을 지켜서 정의 해야한다. afx_msg LRESULT MyPinkoFunc(WPARAM wParam, LPARAM lParam) { return (0); } 2. ON_MESSAGE ON_MESSAGE( message, memberFxn ) message : 메시지 ..

[DirectX12] 조명의 종류
🎯 game engine/◽ directX122023. 12. 19. 16:43[DirectX12] 조명의 종류

1. 조명의 주요 벡터 2. 람베르트 코사인 법칙 [ Lambert's Cosine Law ] 빛에서 중요한 것은 단위 면적당 받는 빛의 에너지(E) 이다. 같은 양의 빛을 비스듬하게 비추는 것보다 정면으로 비추는 빛이 더 강한 빛이다. 이는 빛의 에너지 = 복사조도(단위 면적당 복사 선속의 밀도) 한 영역에 빛의 양을 결정한다. A1 단면적인 빛을 표면에 정면으로 때릴 떄 각은 0도 (1번)이고 같은 양(A1) 단면적인 빛을 사전으로 때릴 때 각은 세타도이다. 이 각으로 통해 복사조도(단위 면적당 복사 선속의 밀도)를 구할 수 있다. 위의 그림과 같이 삼각법에 따라 2번의 E2를 구하면, 아래와 같은 식이 도출된다. 3. 분산 조명 [ diffuse light / 난반사광, 분산광 ] 빛은 어떤 물체 ..

[DirectX12] 조명 연산을 위한 법선 벡터, 법선 벡터의 변환
🎯 game engine/◽ directX122023. 12. 14. 13:54[DirectX12] 조명 연산을 위한 법선 벡터, 법선 벡터의 변환

물체의 입체감과 부피감을 표현하기 위해 조명(Lighting)과 음영(Shadering)이 중요하다. 일반적으로 조형 모형이 정확할 수록 그 계산의 비용은 크고 영화와 같은 미리 렌더링 해두어도 되는 장면은 게임같은 실시간 렌더링을 해야하는 장면보다 비용이 더 높다. 재질(material)은 빛이 물체의 표면과 상호작용하는 방식을 결정하는 속성들의 집합이라고 할 수 있다. 흡수하는 빛의 색, 표면 아래 재질의 굴절률, 표면의 매끄러운 정도, 투명도 등 .. 광원은 다양한 빛의 색을 낼 수 있고 여러가지 세기(intensity)로 방출한다. 광원에서 나온 빛이 물체와 충돌하면, 그 빛의 일부는 흡수되고 일부는 반사된다. 대부분 게임과 같은 실시간 응용 프로그램이 사용하는 조형 모형은 국소 조명 모형(loc..

[DirectX12] 원기둥의 정점 찍기/렌더링 과정 이해하기
🎯 game engine/◽ directX122023. 12. 12. 17:37[DirectX12] 원기둥의 정점 찍기/렌더링 과정 이해하기

위 내용에 맞춰 버텍스를 만들어보자. 인덱스는 생략함.float stackheight = height / stackCount; // 한 층 위의 더미로 올라 갈 때의 반지를 변화량float radiusStep = (topRadius - bottomRadius) / stackCount;uint32 ringCount = stackCount + 1;for( uint32 i = 0; i  위와 같이 정점을 구하고 인덱스를 찍었다면 배열에 담아 그림을 그려달라고 GPU에게 요청해야한다. DirectX12에서 GPU에게 요청하는 과정을 알아보자. 이전의 [Prev]CommandList를 CommandQueue(GPU가 실행하도록)에 제출하고 새롭게 그릴 명령들을 [New]CommandList에 담아 CommnadQ..

[DirectX12] Direct3D 초기화 과정, 그래픽 프로그래밍의 CPU와 GPU의 상호작용
🎯 game engine/◽ directX122023. 12. 6. 16:39[DirectX12] Direct3D 초기화 과정, 그래픽 프로그래밍의 CPU와 GPU의 상호작용

🍟 Direct3D 장치 초기화 과정 및 용어 정리 1. 서술자(descriptor) 객체 서술자는 자원 자료를 지정하는 수단일 뿐만 아니라 자원을 gpu에 서술하는 수단이기도 하다. 서술자는 direct3d에게 자원의 사용법을(자원을 파이프라인의 어떤 단계에 묶어야 하는지) 말해준다. Dirext3D 응용 프로그램은 자원을 직접 파이프라인에 묶지 않는다. 대신, 그리기 호출이 참조할 서술자들을 지정함으로써 자원을 파이프라인에 묶는다. 2. 서술자 종류(형식) CBV 서술자 : constant buffer(상수 버퍼)를 서술한다. SRV 서술자 : shader resource(셰이더 자원)을 서술한다. UAV 서술자 : unordered access view(순서 없는 접근)을 서술한다. 표본추출기 서술..

🙋🏻‍♀️ pinko/◽ 독서2023. 11. 14. 18:50[독서] 룰루 밀러 - 물고기는 존재하지 않는다.

시작하기 앞서 한 달에 한 권씩 읽어야 한다는 목표는 두 달에 한 권 읽어야지요 변했다…. 이전에 올렸던 포스팅은 9월 6일 벌써 두 달이라는 시간이 지나버렸다. 분명 엊그제 김상욱 작가님 책을 읽고 포스팅 한 거 같은데 말이다. 룰루밀러의 책을 다 읽은 것도 10월인데 독후감은 11월에 쓰고 있는 나 자신. ㅜㅜ 또 자기반성과 함께 블로그 글을 시작한다. ㅋㅋ 그만 반성하고 싶다. 벌써 세 번째 책을 읽고 있는데 이번에는 두 책을 동시에 읽고 있어서 다음 독서 포스팅은 좀 오래? 걸릴 수도 있을 거 같다. 물고기는 존재하지 않는다를 선택하게 된 동기 나는  문학은 "픽션이다.",  "거짓말이다.",  "꾸며낸 이야기다." 라는 고정관념을 가지고 책을 읽기 때문에 책을 읽고 나서 배워가는게 별로 없는 느..

[독서] 김상욱 - 떨림과 울림 "과학은 지식이 아니라 태도니까"
🙋🏻‍♀️ pinko/◽ 독서2023. 9. 6. 18:50[독서] 김상욱 - 떨림과 울림 "과학은 지식이 아니라 태도니까"

😁 시작하기 앞서독후감에 대해 이야기를 하기 앞서 나는 독서와 거리가 아주 먼…. 생활을 해왔다. 읽은 책이라고는 참고서들이 대부분이다. 아니, 거의 95%를 차지 할 거다. 어릴 때부터 독서는 하지 않고 TV와 컴퓨터 게임만 하다 보니 책과 멀어졌다. 그런 내가 책을 읽으려고 하는 이유는 두 가지가 있다. 첫 번째는 집중력을 높이고 싶다. 나이가 들수록 집중력이 떨어진다고 한다. 아직 젊은 나이(?)이지만 나의 집중력은 바닥인 거 같다 (이게 shorts의 폐해 …?) ㅠㅠ 책을 읽으면서 실생활의 집중력도 키우고 싶다. 두 번째는 갈등에 대해 수용적이고 비판적인 시각을 가지고 싶다. 과거에도 똑같았다고 하지만 나는 요즘 뉴스를 보면 무섭다. 갈등의 세대에 살고 있는 거 같다. 하지만 이 갈등 속에서 나..

[디자인 패턴] 생성 패턴 - 2. 싱글턴 (singleton)
👨🏻‍💻 programming/◽ 디자인 패턴2023. 8. 23. 17:59[디자인 패턴] 생성 패턴 - 2. 싱글턴 (singleton)

** 싱글턴 패턴이란? ** 🌟 정의 / 특징 1. 싱글턴(singleton)이란 디자인 패턴 중 가장 간단한 패턴으로 '어떤 객체 하나'를 의미한다. 싱글턴 패턴은 프로그램에 클래스의 인스턴스가 딱 하나만 존재하도록 하는 디자인 패턴이다. 2. 외부 시스템과 상호작용하는 유틸리티 클래스 또는 전역 상태를 관리하는 클래스 구현에 적합하다. ex. 데이터 베이스 로드, 파일 시스템 로드, 공용 gui등(게임에서 팝업 창 or 툴팁창 ..), 로거(logger) 🔸 여기서 잠깐 !! 🔸 * 인스턴스와 객체의 차이는 무엇일까? 간단히 말해 객체는 선언이고 인스턴스는 실체화이다. 객체 지향 프로그래밍에서 해당 클래스의 구조로 컴퓨터 저장공간에 실제로 독립된 데이터 공간에 메모리를 가지게 되면 그것을 인스턴스화라..

[C++] Map의 Key로 Class/Struct 넣기
👨🏻‍💻 programming/◽ c, c++2023. 8. 11. 18:35[C++] Map의 Key로 Class/Struct 넣기

오늘은 "호랭이아인교" 병아리 블로그를 운영하는 김드스님의 포스팅을 훔쳐왔다 !! 똑같이 포스팅 해도 된다고 허락을 받았기 때문에 출처를 밝히고 거의 80% 같은 내용을 포스팅한다. 고마워요 김드스님 ~ ** Map의 Key 값으로 Class/Struct 넣기 ** 🎃목표 map의 key값으로 기본적인 데이터 타입(int, string, float, double...)이 아닌 우리가 직접 만든 타입(user defined type)을 넣어보자. 🎃특징 Map은 key(키)와 Value(값)이 쌍으로 이루어진 자료구조로 키를 통해 값에 접근 할 수 있도록 만들어져 있다. map은 key(키)의 중복을 허용하지 않고, value(값)의 중복은 허용한다. c++의 map은 레드블랙트리를 기반으로 구현이 되어있..

728x90
image