본문 바로가기

프로그래밍

* code sampler * code sampler Initialization Demonstrates how to initialize Direct3D. This sample is by far the simplest of all Direct3D samples on this page. If you know nothing about Direct3D, you probably need to start here. Check out the OpenGL source code page for the OpenGL equivalent of this sample. Relevant C++ Keywords: Direct3DCreate9, GetAdapterDisplayMode, CheckDeviceFormat, GetDeviceCaps, CreateDe.. 더보기
포인터 문제 가지고놀기 c를 배우자 카페에서 사람들이 문제를 내고 댓글로 소스올려서 맞추고를 한다. 문제는 int형 변수2개 10,20 초기화 -> 포인터변수 2개만들어서 위의 int형 2개를 각각 가리키고 -> 더블포인터 변수 2개만들어서 포인터2개가 각각 가리키게 이것을 만족후 더블포인터를 이용하여 두변수의 값을 서로바꾸어라.. 함수사용 제한없음 그리하여 많은 댓글중 다른방법은 없을까?하여 레퍼런스를 한번 가지고놀기를 해봤다. #include #include using namespace std; void SwapInt(int& ref1, int& ref2) { int Set = 0; int& temp = Set; temp = ref1; ref1 = ref2; ref2 = temp; } int main(int argc, ch.. 더보기
발표를 끝마치고 결과를 보다.. 처음에 이것을 봤을때 재발표대상부터 차근차근 봤다. 아무래도 재발표팀들이 많고, 지도교수님을 너무 안찾아가서 미운털이 많이 박힌거같기도하고.. 내 물건을 남에게 보여주었던 것이 창피해서 였을까? 기본이 부족하고 이것저것 써먹고 적용시키고 그랬어도.. 노력안했다고는 말못하겠다. 나는 정말 열심히했다. 결국 내 노력은 나를 배신하지 않았다. 패스..... 다행이다. 하지만 저 맨꼭대기에 있는 팀들 얼마나 대단한걸까? 아마도 팀의 3명 4명이 자기일을 확실하게 맡고, 기획자는 기획과 확실한 일정관리, 프로그래머는 프로그래밍만, 그래픽담당은 그래픽을.. ? 아니었어도 뭐 .. 욕심이 조금 생기고, 더 열심히 해야겠다. 기본기를 닦기위해 처음부분도 열심히보고, 퍼포먼스를 살리기위해 이것저것도 알아보고, 더보기
급하게 이것저것 뚝딱거리며 30주차가 되었다. 90%완성으로 졸작발표를 마치다. ㅣㅣ 메인화면의 게임스타트를 지나 나오는 첫화면 좌측하단 뷰포트를 추가하여 캐릭터의 상태와 HP를 연동시켜 배경색의 눈의뜨임으로써 안전/불안전상태를 쉽게 가늠케함과 동시에 그옆에는 시간개념으로써 아침, 저녁, 밤을 3가지로하여 날씨가 랜덤하게 바뀌며 우측상단 미니맵은 위치뿐만아니라 자신이 보는 방향을 가늠할 수 있다. 그밑에는 퀘스트를 통해서 월드상의 임무를... 나머지 자원칸, 인벤토리칸 비가 오는 화면에 야생동물들은 자기들만의 패턴대로 움직이며, 동시에 캐릭터가 어느부분 접근했을 때 그때서야 계속 플레이어를 주시하게 된다. 야생동물을 몬스터로 만들것인가? 도움이되는 친숙한 동물로 만들것인가? 그것은 플레이어의 선택이다. 아래의 화살표는 정령퀘스트의 일부로 퀘스트진행중 위치를 찾는방법인데, 자세히는 모.. 더보기
프로그래밍 디자인패턴에 대해 알기쉽게 정리된 네이버지식인에서 발췌.. 프로그래밍에서도 발생하는 '비슷'한 문제상황들을 추상화해서 각각의 비슷한 문제상황들에 등장할법한 객체들을 설정하고 그 객체들끼리의 관계를 정의한게 바로 디자인 패턴입니다. ^^ 그러니까 하나의 디자인 패턴은 이 패턴이 사용되는 문제상황이 비슷비슷합니다. 상황이 비슷하니까 접근 방법, 해결방법도 비슷합니다..^^ 알고리즘도 비슷한 프로그래밍 상황에서 사용되는 방법이니까 추상화, 일반화라는 점에서 어느정도 디자인 패턴과 성격이 비슷하지만(복사-붙여넣기-약간수정), 알고리즘은 '효율성'에 관심이 있습니다. 현재의 시스템 상황에서 우리가 선택할 수 있는 가장 효율적(빨리 계산, 공간을 덜차지)인 문제해결 방법이 무엇인가에 관심이 있을 뿐, 객체간의 관계는 알고리즘에서 고려대상이 아닙니다. ^^ 중요한 것은 디자.. 더보기
깜박했었던, 양면그리기.. 스카이박스적용 및 항아리내부그리기 및 집안내부그리기등등.. 가끔 다른거만지고있다보면 까먹게된다. 렌더스테이트에서 m_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); 그리기 m_pD3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW); 이걸 양면비추는 빌보드에만 사용했었는데, 메쉬에도 적용이되는구나.. 더보기
22주차.. 문제돌입-> 농장시스템의 변화에 대한 고찰... 만드는 게임의 컨셉중 가장 크게 고려해야할 사항이 무엇인가 다시한번 생각해보게 되었다. 1순위는 아무래도 농장시스템인데.. 현재 농장시스템에는 내부적으로 CState클래스(인터페이스렌더 및 인터페이스 관련 수치관리)에서 관리를 하는데, 주제도 살짝어긋나고 여기에 새로이 추가하려자니 조잡한거같다. 그래서 농장시스템에 대한 클래스를 만들어야겠으며, 새로운 시스템을 적용해보고자 한다. ===================================== 새로운 시스템 -> 나무를 캔다. 필요 재료 -> 2~3가지의 나무모델링 간략한 구현방식 : 월드에 나무모델링이 있다면 ; 캐릭터와 xx수치만큼 가까워져 있다면 ; 액션버튼을 눌렀다면 ; 캔다. -> 나무의 HP는 하나감소(나무hp0으로 소멸시 리젠시간?일단 H.. 더보기
22주차중 캐릭터 모델링에 변화를 주다. 졸업작품에 그래픽맡는 사람이 없다. 기획도 어중간하고, 결국 프로그래밍만 잡고 계속하고있자니.... 캐릭터의 퀄리티를 좀더 향상하고자 오픈소스를 이리저리찾아보았다. 물론 국내에 게임재료파크도 있겠지만, 대략 10년전자료들이 많은곳이기에.. 국내 모델링관련 카페에 정보를 찾는것도 좋겟지만, 해외자료를 찾게되었고 3dxtras.com에서 boy 혹은 man으로 검색했을때 꽤나 많은 모델링들이 있었다. 음.. 그중에 어느정도 컨셉에 맞는걸 찾게되었고, 그것을 적용코자 피직작업을 하였다. 유일한 졸작팀원인 놈에게 부탁해도.. 일처리에 대한 확신도 없고 퀄리티부터 매항상 피직작업중에 애니메이션을 돌려보면 괴상하게 박혔었기에 직접 나섰다. 나름 수많은 정점을 갖고 있는 모델링이지만 , 피직작업은 대략 30분안에 끝.. 더보기
21주차중에서 추가적으로 메인화면 만들기~ 내가만든 졸작에서 DirectX 기법에 스프라이트만 쓰이고 , 나머지는 API적으로 해결했다. API적인것은 검색을 통해서 쉽게 구현이 되었고, 용책,해골책에 없었지만, 도서관에서 봤던 04년도쯤 나온 전략시뮬레이션 프로그래밍인가? 그책을 보진못했지만, 정보문화사 자료실에 책명 검색후 자료받아서 그 자료의 예제를 통해서 쉽게 접근할수 있었다. d3dSprite를 썻는데, 스프라이트가 아닌 버텍스버퍼써서 어떻게 텍스쳐박고 그런방법도 있던데.. 애초 버텍스버퍼쓰는 방법 ,그걸로갔으면 버텍스버퍼 처리방법에 대해 쉽게 접근했을테고 뭐 그랬지만.. 몰라도 뭐 여태껏 관련 예제들 몇번휘둘러봤으니까 책보면 금방 이해 할 수 있을거라 판단한다. 스프라이트이용은 쉽기에 메인화면은 금방 만든거같아 좋다. 1차적으로 띄우고.. 더보기
21주차에서 날씨적용 - 날씨적용 인터페이스 를 구현하다. 용책에 있는 클래스를 따와서 파티클을 적용시켰다. 자꾸 이렇게 가져와쓰면 안되는데, 뭐 예제라는 건 그렇게쓰라는거겠지만, 내부적으로 어렵다. 그래도 스노우클래스에서 약간 손보니 비오는 효과도 나름냈고 결과물을 뽑았으니 만족한다. 시간클래스와 연계되어서 미리 날씨를 10개 구하고, 거기에서 랜덤셔플로 날씨를 뒤죽박죽섞는다. 날씨라는게 평상시 5, 비오는날3 눈오는날2 로 항상 몰고가야하는데, 그냥 랜덤쓰면 재수없으면 눈오는날만 10나올수도있기에 미리 셋팅하고 거기에 랜덤셔플을 한방식 뭐 이래야 플레이어가 지루하지않지, 게다가 눈올때 프레임저하는 으~~ 끔찍하다. 더보기