<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://kiho.egloos.com/style/style_rss.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>kiho's blog</title>
	<link>http://kiho.egloos.com</link>
	<description>뭐..</description>
	<language>ko</language>
	<pubDate>Thu, 20 Dec 2007 17:48:36 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>kiho's blog</title>
		<url>http://pds2.egloos.com/logo/1/200510/27/26/c0030326.png</url>
		<link>http://kiho.egloos.com</link>
		<width>80</width>
		<height>80</height>
		<description>뭐..</description>
	</image>
  	<item>
		<title><![CDATA[ DirectMove 선곡화면 ]]> </title>
		<link>http://kiho.egloos.com/4023839</link>
		<guid>http://kiho.egloos.com/4023839</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds6.egloos.com/pds/200712/21/26/c0030326_476aaabec9bac.png" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds6.egloos.com/pds/200712/21/26/c0030326_476aaabec9bac.png');" /></div>여기에 몇가지를 추가하는 것으로 만들 예정			 ]]> 
		</description>
		<category>작업물</category>
		<pubDate>Thu, 20 Dec 2007 17:48:36 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Visual C++ 확장기능: 클래스 속성 만들기 ]]> </title>
		<link>http://kiho.egloos.com/4019539</link>
		<guid>http://kiho.egloos.com/4019539</guid>
		<description>
			<![CDATA[ 
  c#에 보면 property란게 있어서&nbsp;코딩시에 변수처럼 사용하면서 값을 대입하거나 가져올때의 동작을 작성할 수가 있다.<br>이런 property는&nbsp;vc++에서도 확장기능으로 지원한다... 상당히 예전부터 지원하던거라 새로운 내용은 아니다..<br><br>msdn에 의한 스펙을 보면 다음과 같다.<br><br><strong>__declspec( property(</strong> <b>get=</b><span class="parameter">get_func_name</span> <b>) )</b> <span class="parameter">declarator</span><br><b>__declspec( property(</b> <b>put=</b><span class="parameter">put_func_name</span> <b>) )</b> <span class="parameter">declarator</span><br><b>__declspec( property(</b> <b>get=</b><span class="parameter">get_func_name</span><b>, put=</b><span class="parameter">put_func_name</span> <b>) )</b> <span class="parameter">declarator<br><br></span><pre><span class="parameter">클래스 선언안에 위와 같은 형식으로 적으면 되는데, property() 의 괄호안에 get항목만 적으면 읽기전용 속성이 되는것이고<br>put항목만 적으면 쓰기전용, get,put둘다 적으면 읽기,쓰기가 다 되는 속성을 만드는 것이다.<br> <br><br><br><br><br><br><br><br><br><br><br></span></pre><br><br /><br /><span style="FONT-FAMILY: 굴림체">msdn에 있는 예제<br><br>// declspec_property.cpp<br>struct S {<br>&nbsp;&nbsp; int i;<br>&nbsp;&nbsp; void putprop(int j) { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = j;<br>&nbsp;&nbsp; }<br><br>&nbsp;&nbsp; int getprop() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return i;<br>&nbsp;&nbsp; }<br><br>&nbsp;&nbsp; __declspec(property(get = getprop, put = putprop)) int the_prop;<br>};<br><br>int main() {<br>&nbsp;&nbsp; S s;<br>&nbsp;&nbsp; s.the_prop = 5;<br>&nbsp;&nbsp; return s.the_prop;<br>}</span>			 ]]> 
		</description>
		<category>프로그래밍 팁</category>
		<pubDate>Wed, 19 Dec 2007 06:57:33 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 스트리밍... ]]> </title>
		<link>http://kiho.egloos.com/2894886</link>
		<guid>http://kiho.egloos.com/2894886</guid>
		<description>
			<![CDATA[ 
  점점 나은 스트리밍 방법을 생각해내서 새로 짜긴 하는데...<br />
<br />
안된다는 사람이 자꾸 나오면 어쩌자는건지...<br />
<br />
정 안되면 direct show로 다시 돌아가야지-_-			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Fri, 22 Dec 2006 08:01:31 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 워드 2007로 포스팅~ ]]> </title>
		<link>http://kiho.egloos.com/2862989</link>
		<guid>http://kiho.egloos.com/2862989</guid>
		<description>
			<![CDATA[ 
  <p>워드 2007 설치 기념<br />
</p><p><img alt="" src="http://pds4.egloos.com/pds/200612/13/26/c0030326_23375143.png" /></p>			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Wed, 13 Dec 2006 14:35:54 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 스트리밍 완성.. ]]> </title>
		<link>http://kiho.egloos.com/2861279</link>
		<guid>http://kiho.egloos.com/2861279</guid>
		<description>
			<![CDATA[ 
  예전 KSF변속지원이나, 텍스트 출력부분등을 계속 손보다가<br />
<br />
결국 스트리밍 기능에 손을 데서 곧 완성했다...<br />
<br />
이제 로딩시간도 빠르고 메모리양도 적게먹는다..<br />
<br />
곡 길이도 상관없고...<br />
<br />
나중에 정리해서 프로그래밍팁란에 올려야겠음...<br />
&nbsp; 			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Wed, 13 Dec 2006 06:00:59 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 아아.. 메모리 부족... ]]> </title>
		<link>http://kiho.egloos.com/2830081</link>
		<guid>http://kiho.egloos.com/2830081</guid>
		<description>
			<![CDATA[ 
  direct move 테스트 도중, 재생시간이 긴 음악의 경우,<br />
시작하자마자 바로 꺼지는걸 확인했다..<br />
<br />
direct sound로 재생하려하면 메모리부족 오류를 내면서 연주가 되지 않는다..<br />
<br />
결국은 스트리밍을 구현해야 된다는 소리..<br />
랙이 생길경우 때문에 상당히 불안한 부분인데.. 어떻게 될지 모르겠다..<br />
<br />
<br />
게다가 곡이 길어지면 메모리를 100메가 가까이 잡아먹기 때문에..<br />
임시파일에 저장해놓고, 조금씩 읽으면서 스트리밍하는 방법을 써야할 것 같다..<br />
속도는&nbsp;떨어지겠지..<br />
<br />
<br />
시간도 얼마 없는데.. 문제만 더 생기는구나... 			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Mon, 04 Dec 2006 20:13:40 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ DirectMove, 또다시 C++로... ]]> </title>
		<link>http://kiho.egloos.com/2823958</link>
		<guid>http://kiho.egloos.com/2823958</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds3.egloos.com/pds/200612/03/26/c0030326_06121911.png" width="500" height="392.05955335" onclick="Control.Modal.openDialog(this, event, 'http://pds3.egloos.com/pds/200612/03/26/c0030326_06121911.png');" /></div><br />
<br />
<p>또... 다시 만들었다 C++로</p><p>Direct Move 1.0은 C++로 나오려다가, 올해 초 java로 작성되다가,<br />
올해 중반에 C#으로 작성되다가, 다시 C++로 다시 작성됐다... -_-;;</p><p>C#을 거친덕인지.. 0.5보다는 코드가 나아진듯 하긴 하다..</p><p>&nbsp;</p>			 ]]> 
		</description>
		<category>작업물</category>
		<pubDate>Sun, 03 Dec 2006 09:32:58 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ DIrect3D 화면 텍스쳐에 그리기 ]]> </title>
		<link>http://kiho.egloos.com/2785161</link>
		<guid>http://kiho.egloos.com/2785161</guid>
		<description>
			<![CDATA[ 
  화면에 보여줄 내용을 백버퍼 대신 사용자가 지정한 서피스(Surface)에 그리게 하는 기능이다.<br />
<br />
IDirect3DDevice9 의 함수중에 쓸것은..<br />
<br />
CreateRenderTarget<br />
SetRenderTarget<br />
GetRenderTarget<br />
<br />
CreateRenderTarget으로 surface를 만든다.<br />
GetRenderTarget으로 원본 백 버퍼를 가져와 보관하고...<br />
SetRenderTarget으로 위에서 만든 서피스를 지정한다...<br />
그 후<br />
BeginScene, EndScene으로 원래 하던 렌더링을 한다..<br />
그 내용이 지정한 서피스안에 들어가게 된다..<br />
그 후 SetRenderTarget으로 원래 백 버퍼를 복구시키고..<br />
<br />
이 과정에서 얻은 서피스의 내용을 텍스쳐로 옮겨서<br />
그대로 화면에 렌더링한다.. (안 그러면.. 당연히 그 프레임에는 아무것도 안나오게된다.... 서피스에만 그렸으니까)<br />
<br />
<br />
CreateRenderTarget 함수를 쓰지 않고<br />
RenderTarget옵션을 줘서 CreateTexture를 호출하여 텍스쳐를 바로 만들어도 된다...<br />
대신 D3DPOOL_DEFAULT 옵션만을 지원하므로.. 귀찮은 점이 있다.. (D3DPOOL_MANAGED 가 편하다..)<br />
<br />
나는 요청이 들어올때 마다 캡쳐를 하여 새로운 텍스쳐에 복사하도록 코딩하였다..<br />
<br />
밑은 내가 작성한 코드를 정리한것이다.<br />
<br />
<br />
LPDIRECT3DSURFACE9 originalTarget; // 백 버퍼<br />
LPDIRECT3DSURFACE9 capturingTarget; // 캡쳐된 내용이 들어갈 서피스<br />
device-&gt;GetRenderTarget(0, &amp;originalTarget); // 가져온다..(백업?)<br />
<br />
// 백 버퍼와 같은 속성으로 렌더타겟을 만든다.<br />
D3DSURFACE_DESC desc;<br />
originalTarget-&gt;GetDesc(&amp;desc);<br />
device-&gt;CreateRenderTarget(desc.Width, desc.Height, desc.Format, 0, 0, TRUE, &amp;capturingTarget, NULL);<br />
<br />
// 렌더타겟 설정후 그림.<br />
device-&gt;SetRenderTarget(0, this-&gt;capturingTarget);<br />
device-&gt;Clear(0, NULL, D3DCLEAR_TARGET, 0, 1, 0);<br />
device-&gt;BeginScene();<br />
// 그릴 내용이 여기에..<br />
device-&gt;EndScene();<br />
<br />
// 여기서 텍스쳐를 만들어 캡쳐된 서피스의 내용을 복사한다...<br />
<br />
// 원래대로 되돌린다.<br />
device-&gt;SetRenderTarget(0, originalTarget);<br />
device-&gt;BeginScene();<br />
// 위에서 만든 텍스쳐를 전체화면에 그림.. 혹은 맘대로..<br />
device-&gt;EndScene();<br />
device-&gt;Present(NULL, NULL, NULL, NULL); <br />
<br />
capturingTarget-&gt;Release(); // 다 쓴 건 release.... <br />
<br />
아 실제로는.. capturingTarget은 한번 만들고 계속 쓰게 했다.. 마지막에 release하고..			 ]]> 
		</description>
		<category>프로그래밍 팁</category>
		<pubDate>Wed, 22 Nov 2006 16:20:03 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 아나 짜증나.... ]]> </title>
		<link>http://kiho.egloos.com/2744569</link>
		<guid>http://kiho.egloos.com/2744569</guid>
		<description>
			<![CDATA[ 
  동아리방에서 DirectShow 책 가져와서, 좀 읽어보고 이것저것 해보는데...<br />
<br />
ISampleGrabber란게 있었는데... 이걸 쓰면 재생 직전의 데이터를 얻을 수 있는거야..<br />
<br />
나는 mp3 -&gt; wav를 원하기 때문에, 나에게 필요한거지..<br />
<br />
그래서 얼른 코드를 베껴 옮기고, 중간에 가져온 데이터를 wav파일로 저장시키는 코드를 작성했는데..<br />
<br />
잡음이 엄청 심하네..<br />
<br />
그래서 검색하고, 책찾아보고 이리저리 고쳐보다가...<br />
<br />
코드를 정리할겸.. ofstream을 fopen류 함수로 바꿨는데..<br />
<br />
잘 나오네...<br />
<br />
...<br />
<br />
그렇다면 범인은 ofstream?<br />
<br />
아니다, 나다....<br />
<br />
ofstream를 만들때, 바이너리로 만드는걸 깜빡해버렸다.... (fopen때는 "wb"로 잘 썼으면서...)<br />
<br />
ofstream를 자주 쓰지 않아서 익숙치 않은게 문제였다... 평소처럼 fopen 쓸 걸...			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Sat, 11 Nov 2006 21:27:59 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 비트매니아.. ]]> </title>
		<link>http://kiho.egloos.com/2724511</link>
		<guid>http://kiho.egloos.com/2724511</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds3.egloos.com/pds/200611/06/26/c0030326_08113922.png" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds3.egloos.com/pds/200611/06/26/c0030326_08113922.png');" /></div><br />
이번에는 7, 8단 연달아 성공..<br />
그러나 둘다 마지막판을 겨우 넘겼기 때문에 이번엔 운이 따랐다고 할수 있다..<br />
<br />
그것과.. 명 하이퍼 하드 게이지로&nbsp;클리어~<br />
<br />
9단도 바로 도전했으나,<br />
INAZUMA another를 4%로 넘기고, Aurora another에서 바로 끝..-_-;; 			 ]]> 
		</description>
		<category>오늘얘기</category>
		<pubDate>Mon, 06 Nov 2006 11:56:44 GMT</pubDate>
		<dc:creator>kiho</dc:creator>
	</item>
</channel>
</rss>
