분류 전체보기 290

Direct X - 5. 정점버퍼를 이용한 삼각형 출력

4강과 같은 삼각형의 출력이지만, 정점 버퍼를 사용했다는 점이 다르다. 정점버퍼를 사용하는 이유는, 4장처럼 정점 데이터를 그리는 시점에서 직접 전송을 할 경우, 메인루프를 도는 과정에서 매회 데이터를 보내지 않으면 삼각형 표시가 되지 않기 때문에, 처리에 많은 시간이 걸릴 가능성이 있어,,BUT, 정점버퍼는 정점버퍼를 비디오메모리(GPU : 그래픽카드)에 배치할 수 있기 때문에 성능이 좋아져^^ 특히! 3차원 데이터를 그릴 때, 훨씬 그 퍼포먼스는 좋아지지(정점의 수가 많아지니까!) 일단 소스를 보자 using System;using Microsoft.DirectX;using Microsoft.DirectX.Direct3D;using System.Windows.Forms;using System.Draw..

Graphics/DirectX 2014.06.01

Direct X - 4. 2차원 도형 출력

이번엔 2차원 도형 출력이다!주황색으로 표시된 부분이 새로 추가된 부분이고 나머지는 기본 골격에서 벗어나지 않는다.this.CreateFont();는 3강 글자출력에서 했던 부분을 메서드화 시켜놓은 것 MDX.csnamespace ddrawexercise{ public partial class MDX : IDisposable // 관리되지 않는 리소스 해제 { private CustomVertex.TransformedColored[] _vertices = new CustomVertex.TransformedColored[3]; // 탑레벨 윈도우 : 모든 초기화가 OK면 true, 하나라도 실패하면 false를 리턴한다. // false를 리턴하게되면 자동..

Graphics/DirectX 2014.06.01

Direct X - 3. 글자출력

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics; // 2강에서 추가된 네임스페이스using System.Windows.Forms; // 메세지 박스using System.Drawing; // Color속성 사용using Microsoft.DirectX;using Microsoft.DirectX.Direct3D; // 라이브러리 두개 추가namespace ddrawexercise{ public partial class MDX : IDisposable // 관리되지 않는 리소스 해제 { private Microsoft.Dir..

Graphics/DirectX 2014.06.01

Direct X - 2. 초기화와 기본처리

수정된 MDX.cs  using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics; // 2강에서 추가된 네임스페이스using System.Windows.Forms; // 메세지 박스using System.Drawing; // Color속성 사용using Microsoft.DirectX;using Microsoft.DirectX.Direct3D; // 라이브러리 두개 추가namespace ddrawexercise{ class MDX : IDisposable // 관리되지 않는 리소스 해제 { private Form1 _form = nu..

Graphics/DirectX 2014.06.01

Direct X - 1. 기본설정

먼저 DirectX SDK를 다운로드하고 설치해야 한다.- 알아낸게 있는데, C# 2008까지 DirectX를 지원하고 그 이후로는 XNA가 대신한다.- DirectX SDK도 2007년 8월(August)버전까지만 C# 2008에서 인식이 가능하다.- XNA로 갈아타야겠다. 우선 기초를 다지기 위해 DX를 그래도 해보자ㅠㅠ 다이렉트드로우를 사용하기 위해서는 라이브러리를 먼저 참조시켜야 한다. 솔루션 탐색기에서 참조 오른클릭 -> Managed DirectX부분을 참조추가 하면 된다.3D와 DX, 다이렉트 인풋, 사운드 등등 다 체크해서 불러온다.DX는 아주아주많은데, 최신버전을 체크한다. 대신 2.0.0.0같이 앞이 2인건 체크하지마! using Microsoft.DirectX;이 using문을 사용한..

Graphics/DirectX 2014.06.01

바이트 정렬

바이트 정렬 방식에 대해서 알아보자잉 1. 바이트 정렬 - 바이트 정렬이란 메모리에 데이터를 저장할 때 바이트 순서를 나타내는 것으로, 빅엔디안, 리틀엔디안 알쥬? 빅엔디안 : 최상위 바이트부터 차례로 저장되는 방식 리틀엔디안 : 최하위 바이트부터 차례로 저장되는 방식 그래서, 바이트 정렬 방식이 틀릴 경우 잘못된 데이터가 전달될 가능성이 있다, 이러한 모호함을 없애기 위해서 ip주소와 포트번호의 바이트 정렬 방식은 빅엔디안으로 통일되어있다. 그런데, 인텔 프로세스에서는 바이트 정렬을 리틀엔디안 방식으로 하고있어서 ip주소와 포트번호를 정렬하는 방식과 맞지 않다, 따라서 빅엔디안을 네트워크 바이트 정렬이라고하고 시스템이 사용하는 정렬 방식을 호스트 바이트 정렬이라 한다. 2, 바이트 정렬 함수 - 그래서..

Socket 생성

소켓을 만들어보자 1. 소켓 생성 - 소켓을 이용하여 통신을 하기 위한 요건은 양단이 같은 프로토콜을 사용하는 것이다. socket() 함수는 사용자가 요청한 프로토콜을 이용하여 통신을 할 수 있도록 내부적으로 리소스를 할당하고 이를 접근할 수 있는 일종의 핸들값을 리턴한다. 이 값을 소켓 디스크립터라고 부르며, 각종 소켓 함수를 호출 할 때 인자로 전달하여 사용한다. 2. socket() - 구조 SOCKET socket ( int af, int type, int protocol ) : af 주소 체계 결졍. (Address Family) : type 소켓의 타입 결정 - 성공할 경우 0리턴, 아니면 에러코드 리턴 - 타입 : SOCK_STREAM - TCP, 신뢰성 있고 연결지향적, 대신 느려 SOC..

WS2_32.DLL

1. 소켓이란? - 소켓은 원래 유닉스에서 사용한 네트워크 프로그래밍 인터페이스 인데 요고를 윈도우에서 사용 가능하게 만들어준 것을 윈도우 소켓이라구 부른다, 윈도우 95버전부터 API에 정식으로 포함하여 제공하고있다. 2. 소켓의 특징. - 윈도우 소켓은 유닉스 소켓을 기반으로 한 네트워크 프로그래밍 인터페이스이므로, 소스코드수준에서 비교적 호환성이 높다잉, 그런데 아무래도 그 뿌리가 유닉스다보니까 다른 부분도 존재한다. * 윈도우 소켓은 DLL을 통해 대부분의 기능이 제공되므로 DLL 초기화와 종료작업을 위한 함수가 필요하다. * 윈도우 애플리케이션은 대게 그래픽 사용자 인터페이스를 기반으로하여 메시지 구동 방식으로 동작하므로 이를 위한 확장함수가 필요하다. * 윈도우는 운영체제 차원에서 멀티스레드를..

initSocketLayer

소스를 분석하는 중 InitSocketLayer 메서드를 만났다 아무래도 소켓 초기화를 해주는 것 같다 기본적으로 헤더는 라이브러리는 ws2_32.lib int InitSocketLayer() { int retval = 0 ; // Initialize the winsock environment WORD ver_request = MAKEWORD( 2, 2 ); WSADATA wsa_data; // Initialize the winsock environment. if ( WSAStartup( ver_request, &wsa_data ) ) { // Failed to startup WinSock return -1; } // Confirm the winsock environment supports at leas..

Kalman Filter

워,,, 이거하나만 가지고도 책 한권이 나올정도구나 아무튼 칼만필터 비행기 위치 제어, 네비게이션, 영상처리 등 여러 분야에서 각 시스템 작동 중에 필수적으로 요구되는 주요 변수(비행기의 자세, 이동체의 위치 또는 트래킹하는 객체의 위치 등)를 예측하는데 사용하는 필터 수학적으로는 선형시스템의 상태를 예측해서 발생할 수 있는 오류를 최소화 하면서 예측한다. 선형 시스템 (Linear System) 시스템을 모델링한 수식이 선형 연산자들로 표현이 가능한 시스템을 말한다. 칼만필터는 선형시스템의 예측을 위한 필터 칼만필터가 추출된 신호에서 잡음을 제거하기 위해서는 현재 모델링하는 프로세스가 선형시스템으로 서술이 가능해야 한다. (즉, Y = aX + b같은 수식으로 표현이 가능해야 한다) 길을 따라 주행 중..