전체 글 (93)
-
2016.03.16 [DirectX] memory pool에서의 D3DPOOL_DEFAULT와 D3DPOOL_MANAGED
cf. Memory Pool: DirectX의 자원(ex.serface)들은 여러 가지 종류의 메모리 풀에 저장할 수 있으며, 메모리 풀은 열거형 멤버로 지정된다. 메모리 종류 정리1. 시스템 메모리(system memory) : CPU RAM 메모리2. 비디오 메모리(video memory) : 그래픽카드 RAM 메모리그래픽카드도 하드웨어에 속한다. 그래픽카드의 핵심 칩이 GPU.GPU는 그래픽 연산을 처리하는 목적으로 만들어진 것이기때문에(특히 부동소수형의) 백터/행렬 등 선형연산류의 수치연산에 특화되어 빠르다. 그러나 조건문 등의 제어처리가 많거나, 메모리/하드웨어 엑세스 등의 기능에서는 CPU가 실질적으로 더 뛰어난 성능을 보인다. 3. AGP aperture 메모리 : 물리적으로는 시스템 메모리..
-
2016.03.15 [Cocos] 텍스트 출력 CharMap
cocos로 작업할 때, 텍스트를 출력하는 CharMap 함수는 게임에서 많이 사용된다 왜냐하면 숫자를 이미지로 만들어서 출력해야하기 때문이다. 기본형 Label::createWithCharMap(cocos2d::Texture2D* texture, int itemWidth, int itemHeight, int startCharMap) 매개변수 순서 이미지파일 이름.확장자 / 너비 / 높이 / 아스키코드값 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 bool HelloJudai::init() { if(!LayerColor::initWithColor(Color4B::WHITE)) { return false; } auto label = Lab..
-
2016.02.18 [Unity] OnCollisionEnter 함수와 OnCollisionEnter2D 함수 차이
OnCollisionEnter 함수는 리지드바디/콜리더가 3d인 경우에 사용 만약 2d게임을 만들면서, 리지드바디랑 콜리더(박스)가 2d 로 설정되어있다면 OnCollisionEnter2D를 사용해주어야한다. 추후에 재정리!
-
2016.01.14 [런타임에러] 무한루프 일어날 경우
~에(main.exe의) 처리되지 않은 예외가 있습니다.Stack overflow(매개변수: ~). 저런 키워드가 뜨는 런타임 에러는 무한루프가 발생할 경우 나타나는 런타임 에러 정확하게는 메모리가 다 차서
-
2015.12.04 [API/GDI+] Graphics.DrawRectangle
Graphics 변수를 사용하여 사각형을 그려보자 ! 함수 원형void DrawRectangle(Pen* pen, int x, int y, int width, int height) 여기서 width와 height는 좌표가 아니라 x, y 에서 시작한 너비와 높이 입니다. 함수원형Pen(const Gdiplus::Color &color, Gdiplus::REAL width = (1.0f))~> Color(Gdiplus::ARGB argb)= Pen 자료형의 생성자컬러 색은 (a)rgb 상수값을 지정해서 사용한다. 저는 디버깅이나 충돌박스 좌표를 확인하기 위한 용도로 사용합니다. 예시) Graphics g;g = new Grapbics(hDC); void Func(){Pen* pen;/* 빨간색 , 선의 크..
[DirectX] memory pool에서의 D3DPOOL_DEFAULT와 D3DPOOL_MANAGED2016. 3. 16. 20:26
cf. Memory Pool
: DirectX의 자원(ex.serface)들은 여러 가지 종류의 메모리 풀에 저장할 수 있으며, 메모리 풀은 열거형 멤버로 지정된다.
메모리 종류 정리
1. 시스템 메모리(system memory) : CPU RAM 메모리
2. 비디오 메모리(video memory) : 그래픽카드 RAM 메모리
3. AGP aperture 메모리 : 물리적으로는 시스템 메모리에 위치.
가상메모리처럼, 비디오 메모리가 부족할 경우, 시스템 메모리에 AGP 영역을 만들어서
비디오 메모리처럼 사용한다.
★cf. 비디오메모리 / AGP메모리에서의 읽기 속도는 매우 느리다.
1. D3DPOOL_DEFAULT
리소스들을 로컬 비디오 메모리와 AGP 메모리에 생성한다.
리소스들은 반드시 IDirect3DDevice9::Reset() 함수 호출 이전에 해제되어야 하고,
Reset() 호출 이후에 다시 초기화되어야한다. (=> 즉 리소스 복구가 필요하다는 것)
만약, 리소스 생성할 때 메모리가 부족할 경우 Managed 리소스가 제거된다.
2. D3DPOOL_MANAGED
DirectX에 의하여 리소스들이 관리된다. (=> 필요에 따라 자동으로 비디오/AGP 메모리로 옮겨진다.)
리소스들의 백업 복사본이 시스템 메모리 내에 보관되는데
애플리케이션이 리소스에 접근하고 수정할 때에는 시스템 메모리에 있는 복사본을 이용한다.
(=> 즉 시스템 메모리에 자동으로 백업되므로 리소스가 손상되어도 복구가 필요없다.)
해당 출처를 통해
작성자가 바로 찾을 수 있도록
정리해놓은 것입니다.
출처:
http://www.viper.pe.kr/wiki2/wiki.php/D3DPOOL%20%BF%AD%B0%C5%C7%FC%20%C1%A6%B4%EB%B7%CE%20%BE%CB%B1%E2
http://cappleblog.co.kr/247
http://l4knight.blog.me/120202155512
'DirectX' 카테고리의 다른 글
[펌] D3DXVec3TransformNormal 과 D3DXVec3TransformCoord 차이 (0) | 2018.02.23 |
---|---|
[펌] 렌더링 파이프라인 (0) | 2018.02.22 |
[Cocos] 텍스트 출력 CharMap2016. 3. 15. 16:46
cocos로 작업할 때,
텍스트를 출력하는 CharMap 함수는 게임에서 많이 사용된다
왜냐하면 숫자를 이미지로 만들어서 출력해야하기 때문이다.
기본형
Label::createWithCharMap(cocos2d::Texture2D* texture, int itemWidth, int itemHeight, int startCharMap)
매개변수 순서
이미지파일 이름.확장자 / 너비 / 높이 / 아스키코드값
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
bool HelloJudai::init()
{
if(!LayerColor::initWithColor(Color4B::WHITE))
{
return false;
}
auto label = Label::createWithCharMap("number.png", 33, 45, 48);
int score = 100;
label->setString(StringUtils::format("%d", score));
label->setPosition(Vec2(200,300));
label->setTag(1); //레이어 출력순서 결정 this->addChild(label,1);과같음
this->addChild(label);
score += 10;
//레이어 출력순서 결정
auto scoreLabel = (Label*)this->getChildByTag(1);
scoreLabel->setString(StringUtils::format("%d", score));
return true;
}
|
cs |
createWithCharMap("폰트이미지.png", 출력너비, 출력높이, 아스키코드 값);
여기서 너비와 높이는 출력하고자 하는 이미지의 것을 말한다.
사진의 빨간색 박스 부분의 너비와 높이를 입력하면 된다.
cf.
이미지가 [$,0123456789] 로 되어있어 아스키코드와 순서가 맞지 않을 경우
0의 아스키코드 값 48의 2개 앞인 46(.)을 선언한다.
그리고 setString에서 ".100"을 입력하면 $100을 표시할 수 있다
출처:http://genieker.tistory.com/11
'Engine > Cocos2d-x' 카테고리의 다른 글
[Android/cocos] 안드로이드 포팅 후 앱 실행 시 게임 종료 현상 (0) | 2016.06.09 |
---|---|
[cocos/error] .cocos-priject,json is not found (0) | 2016.05.30 |
[Cocos] Anchor point 와 Rect의 관계 (0) | 2016.04.18 |
[Unity] OnCollisionEnter 함수와 OnCollisionEnter2D 함수 차이2016. 2. 18. 16:45
OnCollisionEnter 함수는 리지드바디/콜리더가 3d인 경우에 사용
만약 2d게임을 만들면서,
리지드바디랑 콜리더(박스)가 2d 로 설정되어있다면
OnCollisionEnter2D를 사용해주어야한다.
추후에 재정리!
'Engine > Unity' 카테고리의 다른 글
[Unity] 유니티 스크립트 함수 호출 순서 (0) | 2017.05.15 |
---|---|
[Unity] animator 메카님 사용 시, 발동된 Trigger 취소하기 (0) | 2017.03.06 |
[Unity] 애니메이션 클립에 스크립트를 추가한 후 해당 함수 오버라이딩하기 (0) | 2017.01.26 |
[Unity/UI] Image Sprite 교체하기 (0) | 2016.12.02 |
유니티에 visual studio2013 연동하는 방법 (0) | 2016.09.01 |
[런타임에러] 무한루프 일어날 경우2016. 1. 14. 20:30
~에(main.exe의) 처리되지 않은 예외가 있습니다.
Stack overflow(매개변수: ~).
저런 키워드가 뜨는 런타임 에러는 무한루프가 발생할 경우 나타나는 런타임 에러
정확하게는 메모리가 다 차서
'[에러정리]' 카테고리의 다른 글
[API/GDI+] Graphics.DrawRectangle2015. 12. 4. 18:54
Graphics 변수를 사용하여 사각형을 그려보자 !
함수 원형
void DrawRectangle(
Pen* pen, int x, int y, int width,
int height
)
여기서 width와 height는 좌표가 아니라 x, y 에서 시작한 너비와 높이 입니다.
함수원형
Pen(const Gdiplus::Color &color, Gdiplus::REAL width = (1.0f))
~> Color(Gdiplus::ARGB argb)
= Pen 자료형의 생성자
컬러 색은 (a)rgb 상수값을 지정해서 사용한다.
저는 디버깅이나 충돌박스 좌표를 확인하기 위한 용도로 사용합니다.
예시)
Graphics g;
g = new Grapbics(hDC);
void Func()
{
Pen* pen;
/* 빨간색 , 선의 크기 3 */
pen = new Pen(Color(255, 0, 0), 3);
delete pen; //메모리 꼭 풀어주기
}
'API · MFC' 카테고리의 다른 글
QueryPerformanceFrequency / QueryPerformanceCounter 사용 방법 (0) | 2018.08.14 |
---|---|
[API] WPARAM , LPARAM (0) | 2015.10.28 |
[API] Graphics.DrawImage (Image*, INT x, INT y, INT srcx, INT srcy, INT srcwidh, INT srcheight, Unit) 함수 정리 (0) | 2015.10.26 |
MultiByteToWideChar 함수의 이해와 사용법 (0) | 2015.10.16 |
[API] GetAsyncKeyState 함수 정리 (0) | 2015.09.24 |