윈도우 그래픽스

킴스코딩클럽·2022년 12월 30일
2

CS기초 시리즈

목록 보기
67/71

Windows API(application programming interface)

win16 - windows3.1 c언어(계속)
win32 - windows 95
win32s - 마이너 업그레이드
win32 for 64 가상레이어(32비트 앱이 64비트 운영체제에서 돌아감)

단점 : C언어라서 외관을 꾸미기 힘듬


C++ 요구에 대응

MFC(microsoft foundation class)

WindowsAPI-> C++버전
스마트포인터, 윈도우 에디터, ...
구조가 안좋아 마이크로소프트가 MFC쓰지말고 visual basic쓰라고함
2014 사후지원 중단

Windows Template Library(WTL)

사내 프로그래머가 만든 대체제->공개됨

Windows Form

.NET(자바 유사버전)
MFC대체제로 밀어준 API
하드웨어 가속 지원이 안됨
2014 사후지원 중단

Windows Presentation Platform(WPF)

하드웨어 가속이 탑재된 윈도우 API -> 안씀

Windows Runtime (WinRT)

윈도우 폰과함께 사장

Universal Windows Platform(UWP)

윈도우 10과 함께
PC,모바일(테블릿),XBOX통합
강제(윈도우 스토어에 등록하려면 반드시 UWP로 만들어야 함)

다시 Windows API로 사용하게됨


SAL(sourcecode Annotation Language)

  1. 매개변수
_In_ :입력
_Out_ : 출력

void f(_In_ x)
{

}
void f(int x)
{

}

int main()
{
	f(3):
}

__fastcall:함수의 매개변수를 레지스터에(가장빠른)어떻게 넘길것인지?
__stdcall : 일반적인 것

DirectX (Multimedia Library)

DX9 : 2002~2011
DX11 : WIN7, 초보자, 인디 개발자
DX12 : WIN10, 그래픽 전문가 보유 팀

COM(Component Object Model)

  1. 인터페이스(순수가상함수의 추상클래스)로 실행 → 클래스
  2. 접두어 : ID2ID1Factory~
  3. C++ 객체와 같은 방식 (new/delete) 불가능→도우미 함수 사용 필요
  4. 동적으로 관리됨으로 포인터임
  5. 모든 함수들이 HRESULT를 반환

기타 용어

Wrapper Class : 복잡한 기능의 클래스 캡슐화 (framework와 유사)
Library : 선언을 담은 헤더와 컴파일된 정의 파일 (범용적으로 쓰이는 약속의 집합)
API : 선언과 헤더를 제공하고 정의도 제공함(앱 개발을 위한 운영체제의 약속)
SDK : API의 기능과 유틸리티의 도구모음
FrameWork : 틀을 찍어 내기 편하게 파일포멧, 지원 파일 종류,컴파일 종류 등의 규정

Device Independent Resource(장치 독립적 리소스) : CPU, MEMORY
Device Dependent Resource(장치 의존적 리소스) : GPU V-RAM,하드웨어 가속(빠르고 제어 불가능)

Device Lost : device갱신

그래픽카드 드라이버 업데이트
cpu 내장 그래픽카드 vs GPU 스위칭
그래픽카드 물리적 원인
그래픽카드 응답없음

Device Restore : 리셋(처음상태)의 의미

device dependent resource 다시 생성

그래픽스

GDI (Graphics Device Interface)

  • 모니터, 그래픽카드, 프린터
  • 느려서 게임에 안맞음

winG - windows for game => 폐기

WIC - windows imaging component

COM 모델
BMP,GIF,ICO,JPG,PNG,TIFF,mediaphoto(live photo).DDS(directX용 이미지 : directdraw surface),decoder,encoder


Hardware Accelerate

DirectX : 직접 GPU나 VRAM에 접근, 하드웨어 가속

GDI+ : GDI+CPP (하드웨어 가속 일부) => 사장되어 Direct2D 포함
OpenGL : 토이스토리 Shader
GDI : WISWIG

profile
공부 기록용

0개의 댓글