본문 바로가기

Dev

작성하던 글이 사라졌어.. 블렌더를 처음 마주한건 20년 2월, 정확한 이유는 기억 안나지만 종종 3D 프로그램을 다뤄야 할 일이 생길때마다 미루고 미루다 오픈소스 프로그램인 블렌더는 좀 더 편하고 사용자 편의성에 맞춰져 있을거라고 착각한 채로 시작했다. 돌이켜보니 그날 하루 하고 말았던거 같은데 옆에서 듣기론 인터페이스가 너무 지저분하다고.. 하필 블렌더 버전도 한참 메이저 업데이트로 넘버링이 바뀔 시기라 유튜브에는 기존 버전과, 현재 버전의 강의 들이 혼재해 있는 상황 입문자가 받아들이기엔 다소 혼란스러웠다. 나중에 필요하면 다시 해보겠지만 그렇게 생각하기를 벌써 1년이 지난걸 보면 기약은 없다. 아무튼, 지금은 기억도 안날 정도로 까마득한 유튜브 채널에서 만만한 강의 하나 붙잡고 애써 따라했던걸로 기억 나는데, 단축키를 즐겨.. 더보기
cocos2D 2.x 텍스쳐 생성(+스프라이트) int width = 320; int height = 5; int textureWidth = ccNextPOT(width); int textureHeight = ccNextPOT(height); unsigned int size = textureWidth * textureHeight * sizeof(ccColor4B); ccColor4B * pixels = (ccColor4B *)malloc(size); memset(pixels, 0, width * height * sizeof(uint)); for ( int y=0; y 더보기
[링크] Thread와 Cocos2d 링크 : Thread와 Cocos2d 요약 : 우선 load resource를 위한 thread 구현에 가장 참고될만한 포스트이며 간단명료하면서도, Thread와 Autoreleasepool을 연관지어 mainThread를 이용하는 이유와 방법을 잘설명해주었다. 더보기
[링크/C] 전처리기(#define) 및 매크로 함수 링크 : [혼자 연구하는 C]전처리기(#define) 및 매크로 함수 요약 : 기본적인 define에 대한 설명과 자주 사용하는 매크로 함수의 사용 방법과 예시, 주의점등을 잘설명해준 포스트 입니다. 더보기
CCSpriteBatchNode의 기본 사용법 시간 관계상 짤막하게 요약만 하여 작성하겠습니다. 1. batch를 쓰면 좋은점 : 첫째, 다중레이어 효과등 스프라이트간의 속도, 간격 조절등이 용이하게 메소드화 되어 있어서 관리하기가 편함 : 둘째, 가장 중요한 부분인데, opengl의 drawcall을 최소화하여 퍼포먼스 비용을 최소화할수있음.(속도향상 기대) 일단 급하게 적은 장점으로는 위의 2가지가 있음. 나머지도 더있겠지만... 2. 사용법 : 간단하다. 일반 스프라이트처럼 BatchNode를 생성하고 사용할 스프라이트들을 child시켜주면 끝. : 단! BatchNode 생성시 file 혹은 texture를 요구하는데, 이게 포인트임. (정확하게는 텍스쳐를 요구한다. 생성 방법이 file로도 될뿐, 결국은 해당 file의 텍스쳐만을 불러와서 .. 더보기
cocos2d의 터치 우선순위(priority)는 낮은것부터 ! 아놔.. 한창을 이것때문에 골머리 썩힌 ㅠㅠ..결론부터 말하면 레이어등, 딜리게이트등 터치 우선순위(priority)를 정해줄땐낮은것이 1순위 이라는것.. 즉, 오름차순..ㅠㅠ (int_min이 1순위!!)당연히 높은게 먼저지! 라고 단정짓고 시작하는게 아니었는데 OTL.. 스프라이트 관리는 기본적으로 꽤 되는 상태인데.. 아직 레이어딴에서 가지고 노는건 버겁다.특히나 다중 터치를 관리하는건... -_-;; 하아.. 나중에 터치 부분이나 따로 정리해서 올려야겠당.. 더보기
[종합] 메모리 할당 오브씨를 시작한지 어언 반년 .. 내게 메모리 할당이란 alloc 밖에 없었다.그럴수밖에없는게 어쨌든 ob-c에서는 메모리 할당할때 alloc밖에 안쓰기 때문..문제는 ob-c의 태생에 대해서 이해하면 생긴다는 것이다. ob-c는 c++처럼 결국 c에서 파생된 언어이기 때문에 c언어도 혼용해서 사용할수 있는것으로 알고 있다.(사실 ob-c가 언어라고 보지 않는 관점도 있긴한데, 이점은 파고들면 너무 깊어지니.. 개인적으로는 언어를 구분한다거나, 무슨 언어 개발자 라던가 라는 껍데기는 싫어하는 지라.. 별로 중요치 않게 생각하고 있다.) 이러한 떡밥 아닌 떡밥들에 의해 포스트가 '프로그래밍'카테고리로 들어가게 되었다. 포스트의 결론을 한줄로 먼저 요약해 보자면,c : malloc / c++ : new / .. 더보기
패턴등의 이미지 배열시 검은 줄 제거 ccConfig.h 파일의 #ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0 #endif 부분에서 0 -> 1 로 변경. (off > on)스프라이트를 그릴때 계산하는 부분식을 바꾸는거라는데, 정확히는 모르겠당..내가 진행하고 있는 프로젝트에서는 일단 쓸일이 없지만...서도, 혹시 모르니~ 메모 ! #define CC_SPRITEBATCHNODE_RENDER_SUBPIXEL 0 //FIX 1 -> 0 더보기
[링크] 기고칼럼 - 대박 게임을 만들기 위한 방법론 해당 글 링크 : http://www.inven.co.kr/webzine/news/?news=58186 현재 활동하고 있는 카페에서 꽤나 공감가는 글이 링크되어 올라왔길래, 정독 한번 해주고 링크를 걸어둡니다.다소 자극적인(?) 제목에 이끌려 글을 읽어보았으나, 현직 개발자라면 대부분 공감할 수 있는 내용입니다. 방법론이라는게 다 그렇듯이, 현실에 적용하기에는 여러가지 제약들이 걸리곤 하지만, 대부분의 사람들이 이상적으로 생각하는 요소들일겁니다. 링크의 글 또한 게임 개발에 있어서 가장 문제시 되는 포인트를 추려 이상적인 방법을 제시한 글입니다. 알면서도, 막상 실천하기에는 생각보다 어려운..그러한 요소들. 다시금 글을 통해 새삼스레 다짐해보게 됩니다. 더보기
개발할땐 가끔 레티나가 미워질때도 있다. 양날의 칼이랄까.. 꽤나 오래 전에 읽은 기사가 있었는데, 레티나 디스플레이의 등장과 그에 따른 개발자의 역량발휘와 고충이 동반될것이라는 글이었다. 까마득해서 링크는 잃어버렸는데..읽을때만 해도 그러려니 했는데, 막상 개발하면서 느껴보니, 여간 힘든 일은 아닌것 같다 ㅋ 갈수록 하드웨어 스펙이 좋아지고 있는 상황이니까, 자연스레 최적화를 구세대 디바이스에 맞춰서 개발을 하는게 버릇처럼 굳어져 왔는데,막상 레티나급 디바이스에서는 하드웨어 스펙이 좋아졌음에도 처리해야하는 디스플레이 데이터가 많아지다보니, 역으로 구세대보다 퍼포먼스가 떨어지는 아이러니(?)한 상황이... 딱 그 기사와의 내용과 같더라는 것이다. 경험으로 미루어봤을때는 파티클쪽에서 엄청난 갭이 느껴진다.. 전문가의 손길을 타지않은 리소스들이라 그런것일수도 있겠지만.. 더보기