본문 바로가기

XNA

[J2D] J2D 라이브러리 + Multitouch * J2D 라이브러리 J2D 라이브러리의 기본 정신은 트리 컴포지트 패턴이다. AS3 처럼 부모객체 자식객체가 있고(DisplayObjectContainer ,) , 자식이 또한 부모가 될수 있고, 그 자식들을 추가 삭제 할수 있고 (addChild , removeChild , addChildAt , getChildAt) 부모 자식간의 Transform 을 계승한다. 기본 문법을 AS3 를 준수 하려고 노력하였다. 구현된 기능은 J2DObject - name , trace DisplayObject - x , y , width , height , scaleX , scaleT , transform , rotation , hitTest InteractiveObject - [MouseEvents(Down , u.. 더보기
[간단메모] Texture2D , Alpha Color private Texture2D tx; private Rectangle txRect; private Color txColor; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); using (System.IO.FileStream fs = new System.IO.FileStream (@"d:\logo2.jpg" ,System.IO.FileMode.Open)) { tx = Texture2D.FromStream(GraphicsDevice, fs); }; txRect = new Rectangle(0, 0, tx.Width, tx.Height); txColor = new Color(255, 255, 255, .. 더보기
[XNA , WPF] XNA 에서 코드레벨로 WPF 생성하기 필요한 레퍼런스는 System.Windows.Presentaion System.Xaml PresentationCore PresentationFramework 이고 필요한 using 은 using System.Threading; using System.Windows; using System.Windows.Controls; 되겠다. Created with colorer-take5 library. Type 'csharp'XNA , Game1.cs 중 일부 Texture2D tex; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); tex = Content.Load("logo2"); this.Window.T.. 더보기
[.Net Profiler] ANTS Memory Profiler 사용해보기 현재 6버전까지 나왔다. 지금은 5버전 을 테스트 해보겠다. 메뉴 항목에서 .net Executable 을 선택하고 대상을 찾고 스타트 버튼을 누르자 그러면 실행과 동시에 프로파일러가 실행되고 상단에 사진기 모양의 아이콘 , Take Memory SnapShot 을 클릭한다. 그러면 익숙한 프로파일링 장면이 나올것이다. 여기서 Grop By namespace 를 체크하면 좀더 편리하게 객체를 조사할수 있다. 그럼 한번 객체를 생성하여 보자 , 정말 프로파일링이 되는지 ... 객체를 생성하고 스냅샷을 찍었더니 정말 Texture2d 객체의 개수가 늘어났다. 그에 따른 메모리 바이트도 표시되고 이전 스냅샷과 비교하여 얼마나 늘었는지 줄었는지도 표로 금방 알수 있다. 화살표로 되어 뺀부분은 객체를 삭제 하였을.. 더보기
[XNA on TUIO] CCV 1.4 <- TUIO -> XNA . CCV1.4 가 업데이트 됬다길래 , 성능도 시험 해볼겸사 , 해서 보니, 집에 있는 대충의 물건만으로도 멀티터치를 구현할수 있겠거니 하는 생각이 들었다. 웹캠이 필요했는데 , 마침 , 세계최강의 가정용 웹캠 마이크로 소프트 시네마 ! 를 ,, 적외선캠으로 만들기에는 너무 아까웠다 , 그래서 적외선 말고도 강력하게 대비를 줄수 있는 물건을 생각하다가, 한번도 열어보지 않았던 연봉계약서, 검은 봉투와 대충 공책 짤라서 만든 흰색 종이 사각형으로 카메라 설정 조금 만져주고 하니, 별 손색업는 멀티포인트 테스트 장비가 되었다. c# TUIO 라이브러리 : 간단한 tuio 클라이언트 사용법은 .. using System; using System.Collections.Generic; using System.L.. 더보기
[KINECT] 키넥트 개봉기와 설치 드라이버 (Windows x64 on MacBook) 더보기
[찰스페졸드] windows phone7 책 완성판 첨부 압축은 7z; XNA 포함 출처 : http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx 더보기
[XNA , Texture2D] Texture2D from Bitmap (fast copy) 종전의 방식 (http://scripter.egloos.com/2548511) 으로는 너무 느려 실시간으로 이미지를 갱신하는데에 무리가 있었다. 그래서 아에 Stream 으로 복사하는 방법을 찾았고 Aforge 의 영상을 붙이는데 성공했다. 이전의 http://www.codeproject.com/KB/game/VidTextureClassWebcamApp.aspx?msg=2630927 보다 화질은 좋아졌다.(쨍 .. 하다..) 간혹 보이는 계단현상이 없어졌다. 속도는 .. 처음엔 조금 딜레이가 생기다가 곧 VideoTexture 만큼 복귀 되었으나 약간 속도가 불안정하긴 했다. 하지만 VideoTexture 에서 런타임중 간헐적으로 나오는 오퍼레이터 에러는 없어 덜컥? 거리는 현상이 없다. 그리고 Vide.. 더보기
[Sharp Developer , XNA3.1] SharpDeveloper 의 Empty 프로젝트에 XNA 사용하기 새 솔루션에서 Empty 프로젝트를 생성 참조 추가에 xna 를 찾아준다. 기본적인 Game1.cs 코딩을 해준다. 시작점을 잡아주고... 디버깅 성공... 오늘도 잡기술만 늘어가고........ 더보기
[Texture2D] Texture2D에 일정역역만 복사하기 원본 텍스쳐에서 일부분만 그리는 방법에서 기초적인 방법은 Draw 에서 그릴 영역을 지정하는것인데 리소스 낭비가 발생할수 있어서 아에 처음부터 영역을 정하고 들어가도록 하는 방법이다. Created with colorer-take5 library. Type 'csharp' //http://scripter.egloos.com //원본 이미지 텍스쳐 Texture2D targetTx; //복제할 이미지 텍스쳐 Texture2D copyTx; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); //원본 이미지를 가져��다 targetTx = Texture2D.FromFile(GraphicsDevice,@"c.. 더보기
[XNA , Texture2D] Texture2D from Bitmap (very Simple) Content.Load 로 불러올수 있는것은 *.xnb밖에 없다. 동적으로 캡춰되거나 연산된 비트맵을 받아오기가 영 까다롭다. 그래서 매우 간단한 비트맵 복사 방법을 생각했다. Created with colorer-take5 library. Type 'csharp' private Texture2D tx; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); //비트맵을 만든다. Bitmap b = new Bitmap(@"c:\a.jpg"); //xna �� 컬러배열을 타겟 비트맵 크기만큼 생성한다. xColor[] pixels = new xColor[b.Width * b.Height]; //x , y 루.. 더보기
[c#][Aforge] 웹캠 영상출력 http://www.codeproject.com/KB/game/VidTextureClassWebcamApp.aspx?msg=2630927 는 속도도 그렇고., 품질이 조금 아닌듯 하여.. Aforge 로 캠영상을 받아서 픽셀을 실시간으로 Texture2D로 카피하는 계획을 세웠다. 우선 Aforge.net 으로 매우 간단한 캠 영상받기 Created with colorer-take5 library. Type 'csharp' using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usi.. 더보기
하나의 BasicEffect 에 여러 텍스쳐 그리기 대신 루프에 한줄씩 더 추가되어 시피유 올라감 --; 더보기
[XNA4.0] windows phone Test Deploy 윈도우폰 이건 . 사야할것같다. XNA도 마음껏 돌려 봤으면 한다. 더보기
[XNA3.1 index buffer vertex buffter] 교과서와는 다른 버퍼메모리 사용법 한참을 방황했다.. 버퍼가 안되서.. DrawUserIndexPrimitives vs DrawIndexPrimitives 라는 주제를 한번쯤 보았을것이다. 물론 후자쪽이 빠르다. 그런데, 가지고 있는 한글번역판 책들은 죄다 xna1.0 버전이라,, 그런지 xna3 에서는 사용법이 달랐다. Created with colorer-take5 library. Type 'csharp' public void setVertices() { // vertices 들 ~// //vertexBuff 라는 멤버 변��가 있겠죠.. vertexBuff = new VertexBuffer(device.GraphicsDevice, VertexPositionNormalTexture.SizeInBytes * vertices.Length.. 더보기
[XNA Rectangle on 3D] 사각형을 그려보자 (제발) 우선 목표는 이러하다 , 사각형의 중심을 원점 으로 한 3d 상의 사각형을 만들것이다. 그리고 텍스쳐도 입혀 보자. 이목표를 실현 하기 위해서는 어느정도의 준비 과정이 필요하다. 바로 카메라의 셋팅이다. 물론 기본적으로 생성되어 있지만 3D 물체를 제대로 볼수가 없다. Game1.cs 코드는 간단하나 워낙 단어들이 길어서 따로 주석을 포함한 소스코드를 참고 할것. 더보기
[C# XNA][texture2D.Setdata] XNA에서 픽셀을 하나하나 다루어 보자. xna의 API 가 익숙하지 않았던때, 픽셀을 다루기 위해 C#의 기본 GDI를 이용해여 마샬링 하여 텍스쳐에 붙였다. 그런데,. 반전이.. zune hd 에서 사용할수 있는 네임스페이스가 극히 제한적이라.. Bitmap은 가져 오지 못한다. 그래서 텍스쳐하나당 한픽셀을 그려야 된다고 생각하자 말도안되는 리소스 낭비이다. 텍스쳐2D 와 Draw메소드를 엄청나게 사용해야되서, 도저히 용납할수 없는 코딩이 될것이다. 고민끝에, ,.XNA짱인,. 곰동님에게 긴급 질문했다. 그리고 친절히 답해 주셨다. ( http://blog.naver.com/fly33499 ) 위의 그림처럼 하나의 Texture2D에 여러개의 setData를 이용해 픽셀들을 다룰수 있다. 드디어 2D 비트맵을 다룰수 있게 되었다 마치 bit.. 더보기