'분류 전체보기'에 해당되는 글 45건

  1. 2024.07.28 GumCut v1.2
  2. 2024.07.28 FFmpeg 다운로드 하는 방법
  3. 2024.07.18 GumCut v1.1
  4. 2024.07.08 GumCut v1.0
  5. 2024.06.30 동영상을 자르고 싶었다.
  6. 2020.05.31 [C++] Run-Time Check Failure #0 1
  7. 2019.03.05 MR Headset 인식 안될때 (SteamVR Error 108) 4
  8. 2017.07.22 [소녀전선] 군수지원 정리
  9. 2016.08.06 윈도우10 레드스톤 업글 후 엑박원패드가 무선리시버로 인식되지 않았었다. 1
  10. 2015.05.25 [C++] int to string 을 만들어 보았다.
  11. 2014.10.04 엑박원 패드를 샀다. 3
  12. 2014.09.15 회사 옥상에서
  13. 2014.06.06 하악 엑박원 패드 드라이버가 나왔다.
  14. 2014.06.01 error LNK2038: '_ITERATOR_DEBUG_LEVEL'에 대해 불일치가 검색되었습니다. '0' 값이 '2'(xxx.obj에 위치) 값과 일치하지 않습니다. 1
  15. 2014.05.22 DirectX 11 빌드 할때 매크로 재정의 경고
  16. 2014.05.17 오랜만에 API로 윈도우 창을 띄우려다가 뜨지 않아서 멘붕
  17. 2013.08.08 XBox360 패드 연습 6
  18. 2013.02.14 GumUI Tool 용량 최대한 줄인 버젼
  19. 2012.12.30 [DirectX] 셰이더로 랜더할때 간헐적으로 프레임이 튀는 경우
  20. 2012.12.02 [C++] fstream을 이용해서 저장하고 불러올때 숫자에 콤마가 들어가는 경우 2
  21. 2012.01.18 GM도 인정한 와우 내 캐릭 룩
  22. 2012.01.18 아이폰 잠금화면용 와우 대격변 배경화면
  23. 2011.11.30 아이폰 잠금화면용 미사카 미코토 배경화면
  24. 2010.07.04 어스온 2차 클베 마지막날 사진찍기
  25. 2010.06.14 지금 스킨
  26. 2010.06.03 캠으로 들어온 영상에서 A4용지 찾기
  27. 2010.05.23 이번학기에 만들고 있는 오델로 2
  28. 2010.05.21 AVD로 돌려본 안드로이드 2.2
  29. 2010.05.04 오델로에서 60수까지 계산하게 하면 얼마나 걸리는 걸까 1
  30. 2010.05.04 와이드 모니터의 능력! 2
GumCut2024. 7. 28. 23:59

 

- 1.0 버전때의 파일 하나만 수정하는 기능에 관련된 버튼들 제거
- 오른쪽 위의 메뉴를 버튼으로 변경
- 폴더를 열거나 데이터 그리드에 폴더를 드래그 앤 드랍 하면 하위 폴더의 파일도 모두 추가
- 데이터 그리드에 파일도 드래그 앤 드랍으로 추가 할 수 있도록 수정
- 저장 파일은 이름만 보여주고 이름을 부분 수정하는 기능 추가
- 저장 폴더를 드래그 앤 드랍으로 설정할수 있도록 수정하고 저장 폴더는 설정 파일(ini)에 저장
- 여러 파일을 순차적으로 작업할때 전체 진행률을 보여주는 프로그래스바 추가
- 텍스트 박스에 탭이나 마우스 클릭으로 포커스가 들어가면 이미 입력되어 있는 내용 전체 선택
- 비트레이트를 Stream:Video 에서 가져오던 것에서 Duration 에 있는 내용을 사용하도록 수정
- 선택된 파일의 정보를 조금 더 자세하게 출력하는 기능 추가

 

GumCut_v1.2.zip
0.26MB

 

ps. 이 프로그램은 ffmpeg를 대신 실행해주는 프로그램이기 때문에 ( https://gumpcb.tistory.com/47 ) 을 참고해서 따로 받아야 한다.

Posted by 버블껌
GumCut2024. 7. 28. 23:01

https://ffmpeg.org/

 

FFmpeg

Converting video and audio has never been so easy. $ ffmpeg -i input.mp4 output.avi     News June 2rd, 2024, native xHE-AAC decoder FFmpeg now implements a native xHE-AAC decoder. Currently, streams without (e)SBR, USAC or MPEG-H Surround are supported,

ffmpeg.org

위 사이트의 왼쪽 메뉴에서 Download 클릭

 

 

왼쪽 아래의 윈도우 마크에 마우스를 올려서 아래의 링크가 Windows EXE Files 로 바뀌는 것을 확인하고 링크 클릭

 

 

ffmpeg-git-full.7z 을 눌러서 다운로드

 

 

다운로드 받은 파일의 압축을 풀면

 

 

안쪽의 bin 폴더에

 

 

ffmpeg 가 있다.

 

Posted by 버블껌
GumCut2024. 7. 18. 09:30

 

- 일괄 작업 기능 추가

- 편집에 crf, qp, bitrate, qscale, Preset, Tune, Profile, Level 추가

- 분, 초 에 60까지 입력 가능한 버그 수정

 

ffmpeg 를 대신 실행해주는 프로그램이기 때문에 ffmpeg는 여기서( https://ffmpeg.org/ ) 받아야 한다.

GumCut_v1.1.zip
0.26MB

 

Posted by 버블껌
GumCut2024. 7. 8. 02:57

cmd로 ffmpeg를 사용하자니 불편해서 대신 명령어를 입력해주는 프로그램을 WPF로 만들었다.

 

 

하다보니 약간의 편집기능도 추가하고 썸네일을 추출하거나 gif 로 변환하는 기능까지 추가

ffmpeg 를 대신 실행해주는 프로그램이기 때문에 ffmpeg는 여기서( https://ffmpeg.org/ ) 받아야 한다.

GumCut_v1.0.zip
0.25MB

 

Posted by 버블껌
잡담2024. 6. 30. 23:34

오래전 ios에 라이브 포토가 나오고 잠금화면 배경화면으로 동영상을 설정하고 싶었다.

그때 당시에는 원본 파일의 확장자 때문인지 코덱 때문인지 여러 프로그램들에서 파일 열기 부터 실패

그 이후로 스팀이나 험블에서 영상편집 프로그램이 할인하거나 번들로 나오면 사놨었다.

 

시간이 흘러 다시 동영상을 자르고 싶어졌는데 원하는 것은 재인코딩 없이 필요한 부분만 자르기

하지만 시간이 너무 흘러 버렸다.

 

- Movavi Video Suite 17

스팀에서 할인할때 사놨었는데 오래전 버전이라 h265는 지원 불가

비디오 분할 기능은 앞부분이 포함되면 높은 확률로 작동, 앞부분을 버리고 싶을때는 높은 확률로 작동하지 않는다.

비디오 변환 기능으로 mkv를 mov로 만드는건 성공 했지만 ios17의 라이브 포토 배경화면은 제한사항이 조금 많은듯

 

- VEGAS Pro 14 Edit

험블에서 번들로 나왔을때 사놨었는데 매직스나 베가스 홈페이지에서는 최신버전 정보만 나와서 지원 코덱이나 해상도를 알수 없어서 설치하지 않고 패스

 

- Fastcut

역시 험블에서 번들로 샀었는데 매직스 홈페이지에서는 자세한 정보를 찾을수 없고 예전에 라이브 포토를 만드려다가 실패했던 프로그램이 이것이었던 걸로 추정되어서 패스

 

- Shotcut

프리웨어에 오픈소스 프로그램

4K, 8K, h264, h265 뭐든 잘 작동

하지만 재인코딩을 꼭 거친다. OTL

 

- FFmpeg

Shotcut 설치 폴더에 있는 ffmpeg.exe 를 보고 구글링 시작

 

SET FFMPEG_PATH="E:\\Util\\Shotcut\\ffmpeg.exe"
SET IN_FILE="E:\\aaa\\111.mp4"
SET OUT_FILE="E:\\aaa\\111_cut.mp4"
SET START_TIME=00:10:00.000
SET END_TIME=00:20:00.000

%FFMPEG_PATH% -i %IN_FILE% -ss %START_TIME% -to %END_TIME% -movflags +faststart -c copy %OUT_FILE%

 

재인코딩 없이 동영상 파일 자르기 완료!

ffmpeg_cut.bat
0.00MB

Posted by 버블껌
프로그래밍2020. 5. 31. 20:07

Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

 

위 에러 메시지로 인터넷을 검색하면 dll과 dll을 사용하는 프로젝트간의 함수 호출 규칙(cdecl, stdcall)이 달라서 발생하고 동일하게 맞춰주면 해결된다고만 나오지만 근본적으로는 함수 호출할때와 호출 끝났을때의 콜 스택이 달라졌을때 발생한다.

 

호출 규칙이 같아도 해당 에러메시지가 발생하는 경우는 아래와 같이 라이브러리와 라이브러리를 사용하는 프로젝트의 헤더가 달라서 가상함수 테이블이 다르고 전달인자가 다른 함수를 호출하게 되는 경우가 있다.

 

* 라이브러리 프로젝트 TestLibClass.h

#pragma once
class TestLibClass
{
public:
	TestLibClass();
	virtual ~TestLibClass();
	virtual void aaa();
#ifdef BBB
	virtual void bbb();
#endif
	virtual void ccc();
	virtual void ddd(int a);
};

* 라이브러리 프로젝트 TestLibClass.cpp

#include "pch.h"
#include <iostream>
#include "TestLibClass.h"

TestLibClass::TestLibClass()
{
}

TestLibClass::~TestLibClass()
{
}

void TestLibClass::aaa()
{
	std::cout << "AAA" << std::endl;
}

#ifdef BBB
void TestLibClass::bbb()
{
	std::cout << "BBB : " << std::endl;
}
#endif

void TestLibClass::ccc()
{
	std::cout << "CCC" << std::endl;
}

void TestLibClass::ddd(int a)
{
	std::cout << "DDD" << a << std::endl;
}

 

* 라이브러리를 사용하는 프로젝트의 main.cpp

#define BBB
#include "../TestLib/TestLibClass.h"

int main(void)
{
	TestLibClass* pTest = new TestLibClass();
	pTest->ccc();
	delete pTest;
	return 0;
}

 

라이브러리에는 BBB 가 정의되거나 전처리기에 추가되지 않아서 bbb()가 제거된 상태로 빌드되고

라이브러리를 사용하는 프로젝트에서는 BBB를 정의한 다음 해더를 포함했기 때문에 bbb()가 있는걸로 인식되어 ccc()를 호출하면 ddd(int a)가 호출된다.

 

pTest->ccc(); 에 중단점을 걸고 가상함수 테이블을 보면 아래와 같이 bbb()는 없고 끝에 널포인터가 하나 더 있다.

해당 라인에서 디스어셈블리로 이동을 해서 esi 와 esp의 값을 보면 아래와 같은데

함수 호출 후에는 아래와 같이 값이 변하고

__RTC_CheckEsp (0E012EEh) 에서 esi, esp값을 체크할 때 실패해서 Run-Time Check Failure #0 에러가 뜨게 된다.

 

ps. ddd(int a)를 ddd()로 수정해서 전달인자가 같은 경우에는 __RTC_CheckEsp를 문제없이 통과하지만 ccc()가 아닌ddd()가 호출된다.

 

ps2. ddd(int a)가 아예 없거나 ccc()대신 ddd(int a)를 호출한 경우에는 널포인터를 참조하게 되어 아래 에러가 뜬다.

"예외 발생(0x00000000, Test1.exe): 0xC0000005: 0x00000000 위치를 실행하는 동안 액세스 위반이 발생했습니다.."

Posted by 버블껌
하드웨어2019. 3. 5. 00:09

MR 해드셋이 인식 안되는 문제가 생겼었는데 윈도우 업데이트(KB4482887) 설치후 발생한 것으로 추정된다.

Mixed Reality 포털을 실행해도 아무런 반응이 없고 스팀VR에서도 헤드셋을 찾을수 없다고(108) 떴다.



해결 방법은 시작버튼 -> 설정 -> 혼합현실 -> 제거 -> 재부팅 -> Mixed Reality 포털 실행

다 필요 없고 MR을 PC에 연결한 뒤에 재부팅 하면 된다.

PC를 켤때 MR이 연결되어 있지 않으면 인식을 못한다.



Posted by 버블껌
게임2017. 7. 22. 13:19


군수지원.xlsx


오른쪽의 1이 붙은 부분은 1시간당 획득량과 순위

ps. 2017-07-28 : 7전역 업데이트, 밑의 엑셀 파일에 시간당 획득량 계산기 추가

ps2. 2017-08-05 : 부품에 3배의 가중치를 주던 부분 삭제, 엑셀 파일의 시간당 획득량 계산기 약간 개선

ps3. 2017-09-08 : 8전역 업데이트

ps4. 2017-12-22 : 9전역 업데이트

ps5. 2018-02-15 : 10전역 업데이트

Posted by 버블껌
하드웨어2016. 8. 6. 05:35

윈도우10을 레드스톤으로 업데이트하고 엑박원패드가 인식되지 않게 되었다.

무선리시버를 뺐다가 껴도 안되고 무선리시버 옆에 버튼과 패드의 버튼을 눌러서 페어링을 시켜도 안되고

배터리가 부족한가 싶어서 충전을 해도 안된다.


혹시나 싶어서 마이크로 usb 케이블로 pc와 직접 연결하니 뜨는 새 하드웨어 추가 화면...

Xbox 액세서리 앱으로 작동하는걸 확인하고 케이블 연결 해제하니

다시 뜨는 새 하드웨어 추가화면...

레드스톤 업데이트 하면서 엑박원패드와 무선리시버 드라이버가 날아갔었나 보다.


해결 방법은

1. 엑박원 패드를 마이크로usb 케이블로 PC에 직접 연결

2. 엑박원 패드에 연결된 usb 케이블을 빼고 무선 리시버로 연결

Posted by 버블껌
프로그래밍2015. 5. 25. 01:52

예전 회사에 다닐때 VBA를 사용했었는데 책도 없고 인터넷도 사용할 수 없고 VBA도 잘 모르는 상황에서

급하게 숫자를 문자열로 만드는 로직이 필요해서 구현했었고

그 후로 이직중에 면접 문제로 비슷한 문제가 나와서 화이트 보드에 C언어로 구현해 본적이 있었다.


그러다 작년쯤에 심심해서 다음과 같이 해당 로직 그대로 C++ 템플릿으로 작성해 보았다.



물론 sprintf 방식으로 만들수 있다는 것도 알고는 있지만 이 방식으로 얼마나 빠를지가 궁금 했었고 

나중에 sprintf 방식으로도 만들어서 속도를 비교 해보려고 했었다.


이제 float과 double도 작성해야지 하고 있던 참에 std::to_string(), std::to_wstring() 을 발견하였다.

MSVS2013 기준으로 정수형은 모두 sprintf 로 구현되어 있었고 float, double, long double 도 구현되어 있었다.


그런 이유로 바로 속도 테스트 시작!


ToString Test Result

std result = count : 100, Total seconds :      0.000645, Average seconds :    0.000006, range : -9 ~ 9

std result = count : 100, Total seconds :      0.003895, Average seconds :    0.000039, range : -99 ~ 99

std result = count : 100, Total seconds :      0.043744, Average seconds :    0.000437, range : -999 ~ 999

std result = count : 100, Total seconds :      0.507521, Average seconds :    0.005075, range : -9999 ~ 9999

std result = count : 100, Total seconds :      5.388189, Average seconds :    0.053882, range : -99999 ~ 99999

std result = count : 100, Total seconds :     58.495743, Average seconds :    0.584957, range : -999999 ~ 999999

std result = count : 100, Total seconds :    648.189087, Average seconds :    6.481891, range : -9999999 ~ 9999999

std result = count : 100, Total seconds :   7002.231934, Average seconds :   70.022316, range : -99999999 ~ 99999999

std result = count : 100, Total seconds :  68199.750000, Average seconds :  681.997498, range : -999999999 ~ 999999999


Gum result = count : 100, Total seconds :      0.000341, Average seconds :    0.000003, range : -9 ~ 9

Gum result = count : 100, Total seconds :      0.002807, Average seconds :    0.000028, range : -99 ~ 99

Gum result = count : 100, Total seconds :      0.037484, Average seconds :    0.000375, range : -999 ~ 999

Gum result = count : 100, Total seconds :      0.503361, Average seconds :    0.005034, range : -9999 ~ 9999

Gum result = count : 100, Total seconds :      6.752371, Average seconds :    0.067524, range : -99999 ~ 99999

Gum result = count : 100, Total seconds :     79.450287, Average seconds :    0.794503, range : -999999 ~ 999999

Gum result = count : 100, Total seconds :    906.220520, Average seconds :    9.062205, range : -9999999 ~ 9999999

Gum result = count : 100, Total seconds :  10006.326172, Average seconds :  100.063263, range : -99999999 ~ 99999999

Gum result = count : 100, Total seconds : 102759.484375, Average seconds : 1027.594849, range : -999999999 ~ 999999999

( 각 마지막 9자리의 경우는 테스트 중에 컴퓨터를 사용했기 때문에 정확하지 않을 수 있다. )



1~3자리의 숫자는 내가 구현한 쪽이 빠르지만 4자리가 넘어가면 std::to_string() 이 더 빠르다.

( 자리수 별로 돌린게 아닌 숫자 범위로 돌렸기 때문에 -9999~9999 에 -999~999가 포함되어있다. )

Posted by 버블껌
하드웨어2014. 10. 4. 03:39



일단 회사에서 배송받아서 집에와 모토로이를 쓸때 남은 마이크로 USB 케이블을 찾아 봤는데 없었다. OTL




그래서 플레이 & 충전 키트도 주문했다.


http://support.xbox.com/ko-KR/xbox-one/accessories/controller-pc-compatibility

여기에서 드라이버를 받아서 설치하고 선만 연결하면 컴퓨터에서 잘 인식한다.


360 패드와 달라진 점으로는


1. 일단 유선 컨트롤러가 없다.

- 마이크로 USB 케이블을 연결해서 쓰면 되지만 특성상 어느정도 길지 않으면 쓰기 힘들다.

- 플레이 & 충전 키트를 샀지만 PC에서는 어짜피 케이블을 빼면 못쓰니 배터리는 무게추의 역활밖에 못한다. ( 케이블은 2.8미터 )

- 무거운게 좋다면 AA 사이즈 배터리, 중간 무게가 좋다면 충전 킷의 배터리, 가벼운게 좋다면 빼고 쓰면 된다.

- 긴 마이크로 USB 케이블이 없다고 꼭 플레이 & 충전 키트를 살 필요는 없고 그냥 긴 마이크로 USB 케이블을 사면 된다. ( 3천원에 3미터 짜리도 있더라 )


2. 트리거를 누를때 360보다 힘이 덜 들어간다.

- 360의 트리거도 실제 총의 방아쇠 보다는 가볍게 눌리지만 엑박원 패드는 더 가볍게 눌린다.

- 손가락의 피로도가 덜 쌓이게 되서 게임을 오래 할때는 더 좋을지도


3. 십자패드의 개선

- 360의 것보다 눌리는 느낌이 더 잘 느껴진다. ( 소리도 딸칵 딸칵 )


4. 살짝 달리진 그립갑

- 표면이 조금 더 매끄러운 느낌이다.

- 손에 더 잘 맞는 느낌인데 새거라서 그럴지도


5. 트리거 진동

- 일단 내가 스팀에 가지고 있는 게임중에 트리거 진동을 지원하는 게임은 없는 듯하다.

- 지원하는 게임이 나와봐야 알수 있을듯


ps. 예전에 만들었던 XBox360 패드 연습 프로그램으로 진동이 잘 안된다.

진동 반응이 많이 늦게 오고 심지어 컴퓨터가 잠깐씩 멈추는 지경

스팀에 있는 더킹 13 에서 진동이 잘 오는걸 보면 내 프로그램에 문제가 있는듯


ps2. PC용 무선 리시버가 출시 되었다.

단, 윈도우 10 만 지원된다.

Posted by 버블껌
사진2014. 9. 15. 21:58














Posted by 버블껌
하드웨어2014. 6. 6. 03:18

http://www.clien.net/cs2/bbs/board.php?bo_table=news&wr_id=1822433


트리거 진동!!!

하지만 아직 우리나라에는 정발을 안해서 구할수가 없다. OTL


ps. 2014.09.23 추가

http://www.xbox.com/ko-KR/xbox-one/accessories/controllers/wireless-controller

하악 드디어 출시했다!

http://prod.danawa.com/info/?pcode=2191610

Posted by 버블껌
프로그래밍2014. 6. 1. 06:00

엔진을 수정할때마다 샘플 프로젝트 들이 x86, x64, Debug, Release에서 모두 잘 컴파일 되는지 확인하기 위해 VS의 일괄 빌드를 자주 사용하는데

새로 만든 샘플 프로젝트의 x64 디버그 모드에서만 다음과 같은 에러로 빌드가 되지 않았다.


error LNK2038: '_ITERATOR_DEBUG_LEVEL'에 대해 불일치가 검색되었습니다. '0' 값이 '2'(xxx.obj에 위치) 값과 일치하지 않습니다.

error LNK2038: 'RuntimeLibrary'에 대해 불일치가 검색되었습니다. 'MD_DynamicRelease' 값이 'MDd_DynamicDebug'(xxx.obj에 위치) 값과 일치하지 않습니다.



일단은 프로젝트 속성의 구성 관리자에서 릴리즈로 되어있었던게 1차 문제였고



구성 관리자에서 디버그로 바꿨어도 일괄빌드에서는 릴리즈 설정이 그대로 남아있던게 원인이었다.


ps. 물론 근본적인 원인은 디버그로 빌드된 라이브러리를 릴리즈로 설정된 프로젝트에서 사용하려고 한것

Posted by 버블껌
프로그래밍2014. 5. 22. 22:43

DX11 입문서를 보면서 환경설정을 하고 디바이스 초기화 하는 부분을 따라서 코딩했더니 아래와 같은 경고가 떴다.



빌드가 안되는 것은 아니지만 찝찝했기 때문에 이리저리 설정을 바꿔보기도 하고 인터넷도 찾아보고 하다가 DX SDK가 Windows SDK에 포함되었다는 글을 보게 되었다.

바로 프로젝트 설정의 포함, 참조, 라이브러리 디렉터리 들에서 DX SDK의 경로들을 제거 했다.


하지만 DX와 관련된 소스들에서 정의되지 않았다면서 빨간 줄들이 생기고 컴파일을 하면 나오는 에러

D3D.cpp(2): fatal error C1083: 포함 파일을 열 수 없습니다. 'D3DX11.h': No such file or directory


하드에서 D3DX11.h 파일을 검색했더니 DX SDK에는 있지만 Windows SDK에는 존재하지 않는다.



멘붕 상태에 빠져있다가

#include <D3DX11.h>

#include <D3D11.h>

로 고쳤더니 에러도 사라지고 잘 컴파일 된다.

Posted by 버블껌
프로그래밍2014. 5. 17. 02:21

학원 다닐때 수업하면서 만들었던 엔진을 C++11을 적극적으로 사용하고 DX도 DX11로 업그레이드 하려고 프로젝트를 생성하고

코드들을 복붙하고 조금씩 수정하면서 윈도우 창을 띄우는 부분까지만 만들고 실행!

CPU만 25% 먹으면서 윈도우가 뜨지 않는다. OTL



한참동안 모니터를 뚫어져라 쳐다보고 람다가 문제인가 하면서 이리저리 바꿔 보기도 하고 디버깅 하면서 CreateWindow 함수가 왜 HWND를 null로 돌려주나 생각하다가 발견 했다.

WNDCLASSEX 구조체의 lpszClassName과 CreateWindow 함수의 첫번째 전달인자를 다르게 써서 라는 아주 허무한 이유가 원인이었다. OTL

Posted by 버블껌
프로그래밍2013. 8. 8. 20:51




SampleXbox360.zip




학원에서 수업중에 만들었던 엔진에 XBox360 패드를 지원하게 하려고 만들어본 예제이다.

텍스쳐는 용량 문제로 포함하지 않았기 때문에 스카이 박스와 중앙의 박스는 텍스쳐가 없이 출력된다.

좌우 스틱과 D패드는 중앙의 박스를 움직이게 하고 X,A 버튼은 누르고 있는 시간에 따라서 좌우 진동모터를 0~1로 동작시키고 Y,B버튼은 좌우 진동모터를 멈추게 한다.

X,A 버튼을 누르지 않은 상태에서 좌우 트리거를 누른 세기에 따라 좌우 진동모터를 동작시킨다.


LB, RB, Back, Start, 스틱 클릭에는 아무 설정도 되어있지 않다.


2013-08-13일 업데이트

 - XBox360 패드 입출력 클레스를 샘플 프로젝트에서 엔진 프로젝트로 옮김

 - 연결되지 않은 XBox360 패드도 매 프레임마다 체크 하던 것에서 1초마다 체크하는 것으로 변경

Posted by 버블껌
프로그래밍2013. 2. 14. 23:22

KGCA 게임 아카데미 23기 졸업프로젝트

팀명 : Dream Catcher

게임명 : Assault Arms



GumUITool.zip

Gum3DUI사용설명서.docx


Posted by 버블껌
프로그래밍2012. 12. 30. 20:27


프로젝트 중에 내가 맡은 UI의 랜더 부분 때문에 게임의 프레임이 튀는 문제가 생겼다.

UI의 프레임에서 화면크기만한 텍스쳐에 모든 오브젝트를 미리 그려놓고 UI랜더는 그 텍스쳐 한장만 화면에 그리는 비교적 단순한 로직이고 UI랜더를 포함함 모든 오브젝트는 최상위 부모 클래스의 같은 함수로 랜더되기 때문에 UI랜더에서 문제가 생긴다면 UI프레임에서도 문제가 생겨야 하지만 UI프레임에서는 문제가 생기지 않아서 이 문제의 원인이 상상조차 안됐었는데 의외로 간단한 부분이 문제였다.


다른 오브젝트와 UI랜더의 유일한 차이점은 UI랜더에서만 노말맵을 사용하지 않는 다는 것인데 기본 노말맵은 셋팅되어있고 노말맵을 NULL로 셋팅하려고 하면 예외처리로 원래 텍스쳐를 그대로 들고 있기 때문에 의도치 않게 노말맵을 셰이더에 보내주면서 셰이더에는 노말맵 텍스쳐를 선언하지 않은게 원인이었다.


ps. 컴퓨터는 거짓말을 하지 않는다.

컴퓨터가 거짓말을 한다면 그건 사람이 시켰기 때문이다.

그게 나야~~ 둠빠 둠빠 두비두밥

Posted by 버블껌
프로그래밍2012. 12. 2. 17:42




wofstream을 이용해서 파일에 저장하다가 한글이 출력되지 않는 문제가 있어서 아래와 같이 로케일을 한글로 설정해 주었다.


std::wofstream fStream(_strFileName);

fStream.imbue(std::locale("kor"));


한글 출력은 잘 되는데 숫자를 출력할때 999를 넘어가면 1,000 이런식으로 콤마로 분리해줘서 다시 읽어오는 부분에서 정상적으로 읽어오지 못하는 문제가 생겼다.


std::wifstream fStream(_strFileName);

fStream.imbue(std::locale("kor"));


읽어오는 부분에서도 로케일을 한글로 설정해서 해결됐다.OTL


ps. 만약 숫자를 콤마로 구분해서 저장되는걸 막고 싶다면

std::wofstream fStream(_strFileName);

fStream.imbue(std::locale("kor", std::locale::ctype));

이렇게 하면 된다.

Posted by 버블껌
게임2012. 1. 18. 19:01

하지만 적절한 벨트를 아직 못구했다. OTL
Posted by 버블껌
아이폰2012. 1. 18. 18:22

글자 계단 현상 지우는걸 깜빡했음 OTL
Posted by 버블껌
아이폰2011. 11. 30. 23:04
마음에 드는 잠금화면용 그림을 구하지 못해서 직접 만들어 버렸다.


 
http://pixlr.com/editor/
여기서 작업했는데 상당히 쓸만하다.
Posted by 버블껌
게임2010. 7. 4. 22:35

패 팬티!







드워프 아저씨의 팬티다.OTL


동생이 지나가면서 하는 말은 "트릭스터 3D버젼이야?"
Posted by 버블껌
잡담2010. 6. 14. 04:51
이 스킨은 모토로이에서 정상적으로 볼수가 없네 OTL
방학 하면 바꿔야겠다.
Posted by 버블껌
프로그래밍2010. 6. 3. 04:27


컴퓨터 비젼 과목에서 교재에 있는 캠가드(침입자감시프로그램)를 이용해 A4용지를 탐색하고 A4용지의 위치에 다른 그림을 덮어 씌우는 증강현실 과제를 하고 있다.

일단 우리조는 영상의 일정한 간격의 점에서 A4용지로 의심되는 흰색 점을 찾고 그 점을 중심으로 해서 바깥쪽으로 A4용지의 외곽선을 탐색해서 다른 그림을 표시하려고 했었지만 어디선가 무한루프에 빠져서 프로그램이 멈춰버리게 되었다.

그래서 지금까지 했던것을 죄다 버리고 교수님께서 잘 안되면 해보라던 방법으로 하게 되었다.
어라 너무 쉽게 되어 버리네?


테스트 하는데 생긴 문제는 벽지가 흰색이라 A4용지하고 벽지하고 구분을 못하고 그렇다고 불을 끄면 A4용지도 어두워 져서 흰색이 아니게 되어 버렸다.
그래서 A4용지 대신에 휴대폰 화면을 사용하게 되었다.


Posted by 버블껌
프로그래밍2010. 5. 23. 01:59
드디어 게임이 정상적으로 진행되는데까지 만들었다.

아직은 컴퓨터가 랜덤으로 놓지만 미니맥스던 알파베타던 인공지능을 적용 시키고 게임 내용을 저장했다가 나중에 활용하게까지 만들면 완성이다.
근데 시간이 너무 부족해 OTL
Posted by 버블껌
안드로이드2010. 5. 21. 04:46
구글 IO에서 안드로이드 2.2가 발표 되고 안드로이드 2.2 SDK가 공개되었다.
API 레벨은 8로 올라갔다.


가장 먼저 홈 화면 도움말 위젯이 반겨준다.



여기서 특별히 눈에 띄는 것은 Car Home이다.



당연한 경고 문구



운전용 독 모드이다.
버튼이 큼직큼직하게 되어 있다.
빈 공간에는 지도나 네비게이션이 들어가 있을 자리가 아닐까 한다.
(위네는 네비게이션, 밑에는 보이스 서치)



밑에 화살표를 눌러 다음 화면으로 넘어온 화면이다.
가려져있는 버튼 2개까지 해서 4개가 비어있다.
설정은 안드로이드 기본 설정 메뉴로 넘어가고 자동은 화면 밝기 조절인것으로 보아 비어있는 버튼에는 GPS나 블루투스, Wi-Fi 온오프 버튼이 들어가지 않을까 한다.



내 모토로이도 2.2버젼으로 볼수 있게 될 날이 올까나
(넥서스원과 드로이드는 6월에 업데이트 할 예정이란다.)



사람들이 프로요에 기대했던것중에 하나인 SD카드에 어플 설치하기
물론 인터넷 브라우저를 SD카드로 옮길 필요는 없겠지만


ps. 여전히 에뮬레이터는 굼뜨게 돌아간다.
1번 코어만 죽어라 갈구는 것도 여전하고 OTL
Posted by 버블껌
프로그래밍2010. 5. 4. 22:20
인공지능 수업에서 우리팀은 오델로를 만들기로 해서 발표자료를 준비하던중에 WZebra란 프로그램을 알게 되었다.
이미 있는 프로그램을 찾아보고 우리꺼는 이거와 비교해서 무엇이 더 좋습니다 라고 해야되는데 제브라에는 있을거 다있네 OTL

컴퓨터가 60수까지 계산해서 수를 두게 설정할수 있길래 그렇게 설정해 보았다.
지금 25시간째 계산이 아직 안끝나고 있다.

이거 이번학기 끝나기 전에 끝나기는 하려나?


ps. 결국 30시간만에 포기 ㄲㄲㄲㄲㄲㄲ
Posted by 버블껌
하드웨어2010. 5. 4. 22:09
와이드 모니터를 써볼 기회가 피시방에서 밖에 없었기 때문에 와이드 모니터가 별로 좋은줄을 몰랐었다.
하지만 윈7로 넘어오고 가젯을 오른쪽에 놓고 쓰려니 답답해서 얼마전에 큰맘먹고 지른 모니터
지금은 모니터의 위치가 서로 바껴있다.

원래 쓰던 모니터와 듀얼로 쓰니 이런것도 가능하다.
물론 이렇게까지 할 필요는 없겠지만
Posted by 버블껌