728x90

분류 전체보기 119

PhysX 4.1 초기세팅 (InitPhysX)

// Foundation을 생성하는데 필요한 변수 PxDefaultAllocatorgAllocator; PxDefaultErrorCallbackgErrorCallback; PxFoundation*m_pFoundation = NULL; // PxFoundation이 있어야 gPhysics를 생성할 수 있다. PxPhysics*m_pPhysics = NULL; // CPU 리소스를 효율적으로 공유할 수 있도록 하기 위해 구현하는 것을 추천 PxDefaultCpuDispatcher*m_pDispatcher = NULL; // Scene PxScene*m_pScene = NULL; // m_pPhysics를 사용해 createMaterial해서 사용 // 충돌체 마찰력, Dynamic 마찰력, 탄성력을 지정하여..

PhysX 2021.11.10

#41. 람다식의 사용

람다식은 위와 같이 4개의 부분으로 되어있다. #개시자(introducer) -> 해당 부분에 외부 변수를 넣는다면, 람다 함수가 이를 캡쳐하여 이 변수를 람다 내부에서 이용 할 수 있게 한다. 보통 [&] 레퍼런스 형태로 가져오거나 [=] 값을 가져오는 형태로 쓴다. #인자(parameters) -> 이 부분은 람다가 실행 될 때 받을 인자들을 써넣는다. 일반적으로 함수에서 매개변수를 지정하듯이 (int _i) 와 같이 사용하면 된다. #반환 타입(return type) -> 그 다음은 ->후에 반환타입을 써주면 된다. 위 그림에서는 int를 return 한다고 보면 된다. #함수의 몸통(statement) -> 람다 내부에서 실행 할 내용을 적어주면 된다. 이건은 조건자를 쓰는 for_each문 같은..

개발 Study 2021.11.01

팀) DirectX 9(Software Rendering) 카트라이더 모작

https://youtu.be/mOCN8AsAsA8 DirectX 9 3D (Software Rendering) 제작기간 : 약 3주 제작 인원 : 4인 (팀장) 카트라이더(네모네모) 분할화면 2인 플레이 ____________________________________________________________________________ 나의 구현 내용 1. 플레이어 기능 (배찌, 디지니 동일) [속도] -> 가속 : 전진 키를 누르면 운동법칙 (v=at)을 이용하여, 속도를 증가 시키도록 구현 이때 속도 구간에 따라 가속도(a)를 다르게 적용 -> 감속 : 속도가 0일 때를 제외하고, 실시간으로 진행 방향의 반대방향으로 일정하게 감속효과(저항) 구현 [회전(드리프트)] -> 회전에도 속도를 적용하여..

Project 2021.10.27

#2. 렌더링 파이프라인 변환

*로컬스페이스 -> 월드스페이스의 변환 -> 처음 오브젝트의 위치를 정해주면 해당 오브젝트는 로컬스페이스를 가지게 된다. 이는 상대 위치고 3D모델만은 위한 좌표계 이다. 로컬스페이스를 월드스페이스로 옮겨주어 하나의 장면을 구성해야 하는데, 월드 변환은 위치, 크기, 방위를 포함하는 각 물체간의 관계를 정의함으로써 이루어 진다. D3DXMatrixTranslation(&매트릭스, 좌표1, 좌표2, 좌표3); pDevice -> SetTransform(D3DTS_WORLD, &매트릭스); 를 이용하여 해당 월드 좌표로 이동시켜 줄 수 있다. *월드스페이스 -> 뷰스페이스의 변환 ->뷰 스페이스는 카메라가 원점인 공간이다. 카메라가 월드 좌표 시스템과 연계되어 정의되는데, 카메라가 월드내 임의 위치나 방위를..

SR 2021.09.13

#1. 3D 시작

* Rendering Pipeline 1. 로컬 스페이스 2. 월드 스페이스 3. 뷰 스페이스 4. 후면 추려내기 5. 조명 6. 클리핑 7. 투영 8. 뷰 포트 9. 래스터라이즈 1. 로컬스페이스 -> 오브젝트 하나의 좌표계, 기본적으로 물체의 중심을 말함. 외부영향이 없는 상태로 상대적 크기 등이 없다. 2. 월드 스페이스 -> 로컬스페이스에 있는 모델들을 크기, 회전, 이동 행렬을 곱해주어 월드스페이스로 옮겨진다. 3. 뷰스페이스 -> 카메라를 기준으로 하는 좌표계 설정 월드스페이스에 있는 모든 오브젝트들을 카메라 기준으로 변환해준다. 4. 후면 추려내기 -> 폴리곤의 후면이라 불리는 보여지지 않는 면을 처리 5. 조명 -> 폴리곤에 빛을 비춰서 반사되는 빛과 명암 색상을 만드는 작업 6. 클리핑 ..

SR 2021.09.02

DirectX 2D 케이던스 오브 하이랄 모작

케이던스 오브 하이랄(모작) - YouTube DirectX 9 2D 제작기간 : 약 1개월 제작 인원 : 1인 Cadence Of Hyrule (케이던스 오브 하이랄) ____________________________________________________________________________ 구현 내용 1. 플레이어 기능 [4방향 이동 및 공격] -> Z버퍼와 각 타일에 옵션을 부여하여 타일의 특성을 부여 (1층 ~ 3층, 얼음 타일 등) -> Z버퍼를 이용함으로써, 타일 뒤에 렌더 효과(2층 타일 뒤에 있으면 캐릭터가 가려지는 등)도 얻을 수 있었음 [비트에 맞춰 이동] -> 비트바를 list로 관리하여 bpm에 맞게 생성하고, front의 비트 바가 가운데 충돌 영역에 도달 시에만 키가..

Project 2021.09.01

모작일지(10)

고드름 떨어지는 패턴에서 자꾸 터져서... 패턴 하나 완성하는데 오래걸림.. 기존 타겟(빨갛게 빛나는거)에서 고드름 그림자를 소환하고 그림자가 고드름을 소환 하는 방식을 사용했다가 타겟을 DrawID로 그림자로 바꿔준뒤 고드름을 소환해서 고드름이랑 타겟이랑 닿을경우 둘다 삭제하는 방식으로 표현하였음 이때 타겟이 Release 될 때 타겟의 타일 Index와 플레이어가 현재 있는 Index를 비교하여 얼음상태의 여부를 결정해주었음 이제 타일만 깔면된다.. 타일깔고 완성시키면 모작은 이것으로 마무리..

DirectX 2021.08.25