SRT에서 Scale 행렬과 Rotation 행렬 곱하는 순서를 바꿀 경우 최종 결과값을 얻는 데에는 상관없지 않나요? Translation 행렬은 아예 기준 좌표계 기준을 옮기는 행위여서 Translation 행렬이 언제 곱해지나에 따라 결과값에 차이를 만들어 낼 수 있는데, Scale과 Rotation 은 좌표계 기준을 옮기는 행렬이라고 생각이 안 되어서 여쭤봅니다.
http://boj.kr/5b42789344b749769d5371b7e76dfb10 안녕하세요 큰돌님 ! 강의 너무 재밌게 잘 듣고 있습니다. 문제해설대로 map을 사용하는게 좋은 방법이란걸 깨달았지만 해설을 듣기전 혼자 풀었을때 작성한 코드인데요. 저는 전역으로 벡터를 만들어서 더 좋은 조건(사전 순으로 빠른)의 벡터가 만들어졌을 시 비교하여 전역 벡터로 할당해주는 방식으로 짜보았는데요. 해당문제를 검색해보며 여러 테스트케이스를 해봐도 맞았는데 제출은 틀렸다고 나옵니다 .. ㅠㅜㅠㅜ 어떤 반례가있는지 궁금합니다.
안녕하세요 큰돌님 문제 해설에서 시간복잡도 계산하실때 300C3 이라고 하신 부분에 대해서 질문드립니다. go 함수 호출시마다 check 함수또한 호출하게 될텐데 10*30 배열의 경우 check 한번당 300번의 탐색을 해야하므로 300C3 * 300이 되어야하는것이 아닌가요?
https://www.acmicpc.net/source/share/52db515483bf48409679906723d0d91f 위 코드는 오답이고 https://www.acmicpc.net/source/share/4d3ef9f8e6c74ed2af729ac607ef92dd 위 코드는 정답인데 두 코드의 로직에 어떤 차이가 있는지 궁금합니다 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
강의 영상을 보면서 다른 프로젝트에 Proto buf를 적용하고 있습니다. 하지만 이를 연동하는 과정에서 서버에서 수정한 정보가 클라이언트로 넘어가지 않아 확인해보니 ServerPacketHandler.h의 내용 중 아래 내용에서 S1.h를 제가 만든 프로젝트의 이름으로 변경해도 계속 S1으로 바뀌는 것을 발견하였습니다. 서버 쪽에서 S1과 관련된 모든 것을 제 프로젝트의 이름으로 변경하였는데 바꾸어야 할 이외의 것이 있을지 궁금합니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
루키스님 항상 좋은 강의 감사합니다. 정말 잘 듣고 있는데요. 다름이 아니라 이 강의가 끝나고 윈도우API 포폴좀 만들면서 새로운 강의를 들을 생각입니다. DirectX를 들을라고 하는데 강사님의 DirectX 강의가 2개가 있더라고요 1. [게임 프로그래머 도약반] DirectX11 입문, 2. [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12 이렇게 두개중에 어떤걸 들어야 하는지 궁금증이 생겨서 질문드립니다. 지금 강의가 끝난 후에 어떤 걸 들어야 맞는건지 여쭤보고 싶어서 질문 남깁니다. 또 두개를 전부 들어야 한다면 어떤 거 먼저 듣는 것을 추천하는지 궁금합니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
안녕하세요 루키스님. 강의 영상을 보고 third person이 아닌 제가 만든 캐릭터와 애니메이션으로 새 프로젝트를 만들어 보고 있습니다. 캐릭터의 이동과 이동 애니메이션까지는 잘 동작하지만 캐릭터의 점프가 되지 않아 고민입니다. 이전에 강의 정상에서는 보낼 상태 정보(움직이고 있는지, 아닌지)를 if (DesiredInput == FVector2D::Zero())로 판단하여 MOVE_STATE_IDLE과 MOVE_STATE_RUN을 구분하였는데 점프는 어떻게 구분해야 할까요? 또, 점프 패킷을 받은 클라이언트는 이를 어떻게 처리해야 할까요?
선생님, 안녕하세요. visited를 맵에 넣어서 (y와 x좌표를 스트링으로 바꾼 후 키로 삼고, value는 1이나 true를 줬습니다.) 하는 방식으로 풀어봤습니다. 또, 배추의 좌표들을 받을 때, 이를 벡터에 넣어줘서 벡터를 반복문을 돌며 dfs를 실행하며 visited맵을 체크해줬어요. 배열로 받던 visited를 맵으로 바꾸고, 벡터에 배추 좌표를 넣어주는 정도라서 식이 많이 다른것 가지는 않구요, 이렇게 하면 2중배열을 돌지 않아도 되서 약간이나마 더 효율적이라는 생각도 드는데요. 테스트 케이스는 맞는데, 제출하면 틀렸다고 나옵니다. 어떤 반례가 있을까요? http://boj.kr/5fdb9a3986444cf7b5f0723ce0db6048
OpenGL 쉐이더 (2) shader 3D 그래픽스 - 프로그래머블 파이프라인, 기하학 기초, 삼각형 출력
vertex shader의 out vec4 vColor 값이 fragment shader의 in vec4 vColor 로 어떻게 매칭이 되는건지 좀 궁금합니다. 일단 제가 추측한바로는 두개다 변수명이 vColor 같기 때문에 매칭이된다. 선언된 순서에 따라 vertex shader 에서 out vColor 이 0번 varying register에 등록이 되고, fragment shader에서 in vColor 이 0번 varying register에 등록이 되어서 매칭이 된다. 이렇게 가정할 수 있을것 같은데, 2번 같은 경우는 이전 설명에서 GPU에서 대부분 순서대로 할당하지만, 임의로 할당할 수 있다고 하였고, 또한 layout 같은 키워드도 있어서 순서 보장이 안될 것 같아서 변수명으로 매칭되는 1번이지 않을까 싶은데, 제가 이해한게 맞는지 궁금합니다. 그리고 추가 질문으로 fragment shader의 out으로 FragColor를 지정하게 되어서 여기에서 지정된 컬러가 FrameBuffer에 씌여진다고 하셨는데, fragment shader의 out이 그림상에는 1개밖에 없는데, 여러개 지정가능하다고, 얼핏 강의에서 들은것 같은데, 관련된 부분은 추후 강의에서 확인이 가능한지 궁금합니다. 그리고 만약 여러개 지정이 가능하면 첫번째 out만 무조건 FrameBuffer에 씌여지는건지도 궁금합니다. 감사합니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
안녕하세요 루키스님. 지금까지 패킷 수신 송신 과정의 흐름을 코드상에서 어떻게 흘러가나 이해해보려고 정리를 해보았는데, 이해가 잘 안되는 부분이 있어서 질문드립니다. 일단 제가 이해한 Recv과정은 다음과 같이 이해했습니다. RecvThread에서 계속 일하면서 Packet받은거 큐에 넣는것도 알겠고 큐에 있는걸 처리하기 위해 Session이 Handler한테 요청하는 것도 이해했습니다. 이해가 안가는건. 그러면 Session의 HandleRecvPacket()을 호출하기 위해서는 GameInstance가 HandleRecvPacket()을 호출해줘야 하는데 그러면 GameInstance가 HandleRecvPacket()는 누가 언제 어디서 호출을 하는것인가요??? 제가 흐름을 잘못 이해하고 있는건가요 ㅠㅠ? 제가 이해한걸 그림으로 표현해보았습니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
안녕하세요 루키스님. 제공해주신 예제 서버 파일 그대로 빌드하고 따라하면서 문제없이 잘 진행되었는데, proto파일에 C_SPAWN과 같이 추가로 작업하면 인식을 못합니다. 내용을 살펴보니 Proto:: 에 C_SPAWN이 없다라고 나오는데 재빌드, 껏다 켜보기, 다시 예제서버 다운받아보기, 루키스님 최신 강의에서 무료 protobuf강의 따라해보기 다해보았지만 '추가'에 대한 인식을 못합니다. 기존에 있던거는 잘 되구요... 다음 사진과 같은 상황입니다. 추가 한 모습 에러 뜨는 부분.. 물론 이 밑으로부터 빨간줄 천지입니다. 원인을 좀 찾아보려고 출력, 입력 라이브러리 다 찾아보았지만 경로 설정은 잘 되어 있습니다. python코드에서 혹시 이것인가 싶은거는 PacketGenerator.py 파일에서 import jinja2를 인식을 못하고 있습니다. 혹시 이것때문일까요? 아니면 의심되는 부분이 또 있을까요? 아 좀 더 실행해보니 proto파일 인식을 못하는것 뿐만 아니라 Protocol.pb.h과 같은 파일을 지워도 재등록을 안해주는 문제가 발생했습니다. 어떤 부분을 추가로 살펴봐야 할까요? ㅠㅠ 이것때문에 진행을 못하고 있네요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 큰돌님 안녕하세요! 이번 강의도 잘 듣고 내심 궁금한게 있어서 질문 드렸습니다. http://boj.kr/f9048d0d72c1430292e3469290235959 for문으로 모든 시작점을 진행해도 같은 값이 나올 줄 알았는데 그게 아니었습니다. 문제 풀 때는 상관이 없지만 내심 너무 궁금해서 질문드립니다..!
class Derived : private Base { public: Derived() { // private Base Base::m_public; // 손자 클래스에서 사용 불가 Base::m_protected; // 손자 클래스에서 사용 불가 // x Base::m_private; // 사용 불가 } }; 안녕하세요. 항상 고생 많으십니다. 해당 코드에서 class Derived : private Base 가 되면. class Derived 내에서, Base::m_private는 당연히 접근이 불가능한 것은 맞는데 나머지 Base::m_public; Base::m_protected; 에 대해서는 Derived내에서 접근이 가능한가요? 손자 클래스에서는 접근이 불가능하다는 것을 말씀 해주셔서 이해 했는데, 자식 클래스에서는 접근 여부가 어떻게 될까요?