본문 바로가기

Coding47

.MAP 파일로 만드는 BSP (3) - 맵 파일 구조 1. { } : Entity 2. 초록색 글씨들 : Property들의 이름 3. 분홍색 글씨들 : Property들의 value 4. { } : Brush 5. ( ) : face 정보 - face들은 plane이라고 생각하면 될 듯. - 처음 세 개의 괄호 : 평면을 만들 수 있는 세 점 - 파란색 글씨 : 텍스처 이름 - 분홍색 글씨 : 텍스처 axis의 U V - 검은색 글씨 : texture rotation (불필요한 값) - 녹색 글씨 : U V texturre scale 2010. 11. 18.
.MAP 파일로 만드는 BSP (CSG 이용) (2) - 브러쉬를 폴리곤으로 바꾸기 2-1. 브러시를 폴리곤으로 바꾸기 일단 엔터티 목록이 메모리에 저장되면, 첫번째 작업은 브러시들을 폴리곤들로 변환하는 것이다. 여기에는 두 가지 방법이 있다. 첫 번째로는 3개 평면 교차법이다. 이 방법은 빠르고 상대적으로 적은 코드를 필요로 한다. 두 번째로는 모든 face(면)들의 평면(plane)을 따라 거대하고 잠재적인 폴리곤들을 만드는 방법이다. 그리고 나서 각각에 대해 그 폴리곤들을 클리핑 하는 방법이다. (이 글을 쓴 사람은 개인적으로 이 방법을 싫어하기 때문에 3 평면 교차법을 사용한다. ) 폴리곤을 브러시로 바꾸는 pseudo 코드는 다음과 같다. face들은 브러시안의 모든 face에 대한 배열로 한다. 폴리곤은 배열로 만드는데, 이 폴리곤들은 많은 수의 face들을 가지고 있다. F.. 2010. 11. 18.
.MAP 파일로 만드는 BSP (CSG 이용) (1) - 맵 파서 디자인 (원문을 번역함) 1. 맵 파서 디자인 이제 맵 파일 형식에 대해서는 알게 되었고, 이제 우리가 어떻게 .MAP 파일 파서를 코딩할 것인가에 대해 생각해 보자. .MAP 파일을 파싱해서 나오는 결과물은 엔터티들의 집합이어야 한다. 각각의 엔터티들은 속성과 폴리곤들을 가지고 있어야 한다. 이는 어떤 .MAP파일이든지 간에 크게 다르지 않다는 점을 알아두자. 문제는 지오메트리로 저장하는 대신 폴리곤의 목록들(리스트)로 저장한다는 점이며, .MAP 파일은 평면(PLANE)으로 정의된 볼록다각형들인 브러시들로 구성되 었다. 따라서 .MAP 파일 파서 작업은 메모리에 .MAP 파일을 로드하고, 엔터티 안에 있는 브러시들을 폴리곤의 집합과 수정된 엔터티 목록으로 변환을 하는 것이 된다. 다음 그림.. 2010. 11. 18.
Secondary Monitor에 윈도 그리기 WPF에는 Secondary Monitor, 3rd monitor 등등을 찾아주거나 그 정보를 알려주는 것이 현재 없는 걸로 알고 있다. 그래서 영역을 설정하고 세컨더리 모니터에 그릴 윈도우 위치와 맞춰주는 방법을 써보기로 하자. private playerWindow PlayerWindow = new playerWindow(); private void SecondaryMonitorLocation() { PlayerWindow.WindowStartupLocation = WindowStartupLocation.Manual; System.Drawing.Rectangle workingArea = System.Windows.Forms.Screen.AllScreens[1].WorkingArea; PlayerWind.. 2010. 2. 25.