青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 505  文章 - 1034  trackbacks - 0
<2012年3月>
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567


子曾經(jīng)曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊(cè)

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923077
  • 排名 - 14

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

索性這幾個(gè)UI庫都試試 ^_^

截圖


重點(diǎn)
 1)取得句柄
      
pSystem->InitD3D((HWND)this->Handle.ToPointer());

 2)刷新畫面也跟Qt一樣靠定時(shí)器:拖個(gè)Timer(注意:默認(rèn)是Enabled:false,改成true),雙擊下,改下面的函數(shù)
     
    private: System::Void timerRender_Tick(System::Object^  sender, System::EventArgs^  e) {
                 
if (pSystem)
                 {
                     pSystem
->Render();
                 }
             }

       本來我是打Run的主意的
Application::Run(gcnew MainForm());
寫個(gè)類繼承自Application,然后override這個(gè)Run,在其中調(diào)用Render(),試了下,編譯出錯(cuò)
錯(cuò)誤    1    error C3246: “EditorApplication”: 無法從“System::Windows::Forms::Application”繼承,因?yàn)樗驯宦暶鳛?#8220;sealed”    f:\Practise\Practise_2005\WorldEditor\WorldEditor.cpp    9    
Application類不能被繼承?。?!

看了下xoyojank寫的 原創(chuàng) DirectX in C++/CLI ,也用定時(shí)器好了。

3)項(xiàng)目配置: 公共語言運(yùn)行庫支持(/clr)    多線程調(diào)試 DLL (/MDd)


posted on 2008-11-26 23:35 七星重劍 閱讀(1245) 評(píng)論(6)  編輯 收藏 引用 所屬分類: PL--c/c++ 、Game GraphicsIDE -- visual c++

FeedBack:
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-27 21:39 xoyojank
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-28 14:20 七星重劍
 
protected override void WndProc(ref Message m)

{

   
if (m.Msg == 0x000F)

   {

      Frame();

      
this.Invalidate();

   }

   
else

      
base.WndProc(ref m);

}

 
[DllImport("user32.dll")]

public static extern int SendNotifyMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); 



protected override void WndProc(ref Message m)

{

if (m.Msg == 0x000F)

{

   Frame();

   SendNotifyMessage(
this.Handle, 0x000F, IntPtr.Zero, IntPtr.Zero);

}

else

   
base.WndProc(ref m);

}

  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2008-11-28 14:21 七星重劍
這種方式是最好的?
  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-04-19 15:46 七星重劍
http://blogs.msdn.com/tmiller/archive/2005/05/05/415008.aspx

My last post on render loops (hopefully)..
The most common topic on my blog returns again. This time it will be brief as all I'm going to to do now is show you the render loop the June'05 SDK will be using. A coworker in another group came up with this markedly simple, yet deceptively effective loop for that groups projects. I liked it so much, i'm sharing it with everyone else. =)

The basic loop (slightly modified from his original version and the version in the new SDK for ease of reading):

public void MainLoop()
{
// Hook the application's idle event
System.Windows.Forms.Application.Idle += new EventHandler(OnApplicationIdle);
System.Windows.Forms.Application.Run(myForm);
}

private void OnApplicationIdle(object sender, EventArgs e)
{
while (AppStillIdle)
{
// Render a frame during idle time (no messages are waiting)
UpdateEnvironment();
Render3DEnvironment();
}
}

private bool AppStillIdle
{
get
{
NativeMethods.Message msg;
return !NativeMethods.PeekMessage(out msg, IntPtr.Zero, 0, 0, 0);
}
}


And the declarations for those two native methods members:

[StructLayout(LayoutKind.Sequential)]
public struct Message
{
public IntPtr hWnd;
public WindowMessage msg;
public IntPtr wParam;
public IntPtr lParam;
public uint time;
public System.Drawing.Point p;
}

[System.Security.SuppressUnmanagedCodeSecurity] // We won't use this maliciously
[DllImport("User32.dll", CharSet=CharSet.Auto)]
public static extern bool PeekMessage(out Message msg, IntPtr hWnd, uint messageFilterMin, uint messageFilterMax, uint flags);


------

Simple, elegant, effective. No extra allocations, no extra collections, it just works.. The Idle event fires when there's no messages in the queue, and then the handler keeps looping continuously until a message does appear, in which case it stops.. Once all the messages are handled, the idle event is fired again, and the process starts over.

  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-04-19 15:55 七星重劍
現(xiàn)在見到這種方式,把控件invalidate了讓其重新繪制。

Application.Idle += new EventHandler(form.Application_Idle);
Application.Run(form);

Invalidator.Shutdown();
MFramework.Shutdown();
}

private void Application_Idle(object sender, EventArgs e)
{
if (this.Visible &&
this.WindowState != FormWindowState.Minimized &&
Form.ActiveForm == this)
{
Invalidator.Instance.Update(true);
}
}

在控件的protected override void OnPaint(PaintEventArgs e)里繪制3D內(nèi)容。  回復(fù)  更多評(píng)論
  
# re: 每天30分鐘寫Editor--(2)在CLR窗口里用D3D畫轉(zhuǎn)動(dòng)的三角形 2010-10-31 18:42 funcman
Void OnIdle(Object^ sender, EventArgs^ e) {
MSG msg;
while( !PeekMessage(&msg, 0, 0, 0, 0) ) {
Render();
}
}

//...

int main(array<System::String^>^ args) {
//...

EventHandler^ idle = gcnew EventHandler(OnIdle);
Application::Idle += idle;
Application::Run(gcnew MainForm());
Application::Idle -= idle;

return 0;
}  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲自拍偷拍福利| 欧美午夜性色大片在线观看| 欧美日韩在线视频首页| 国产精品视频xxxx| 激情校园亚洲| 亚洲图片在线| 久久深夜福利免费观看| 亚洲精品专区| 久久精品视频免费| 欧美三级第一页| 在线不卡中文字幕播放| 国产精品99久久久久久有的能看| 久久国产色av| 最新日韩欧美| 欧美一区网站| 欧美色一级片| 最新日韩在线视频| 欧美中日韩免费视频| 91久久精品国产91久久性色tv | 亚洲欧洲精品成人久久奇米网 | 久久另类ts人妖一区二区| 亚洲精品视频在线观看网站| 久久xxxx| 国产精品久久国产精品99gif| 亚洲国产女人aaa毛片在线| 欧美一区二区免费观在线| 亚洲日本中文字幕区| 久久精品国产99精品国产亚洲性色| 欧美日韩一区三区| 亚洲激情另类| 久久亚洲视频| 亚洲性色视频| 欧美日韩一区不卡| 亚洲精品乱码久久久久久| 久久免费视频一区| 亚洲免费视频成人| 欧美视频日韩视频| 亚洲精品午夜精品| 久久综合中文字幕| 欧美亚洲免费在线| 国产精品国产精品国产专区不蜜| 亚洲另类一区二区| 欧美www视频| 久久国产精品99精品国产| 国产精品伦理| 亚洲一区二区动漫| 日韩一级黄色大片| 欧美好骚综合网| 亚洲国产第一| 久久综合九色九九| 欧美在线三级| 国产一区二区三区四区老人| 亚洲欧美不卡| 日韩视频二区| 欧美激情一区二区三区不卡| 曰本成人黄色| 六月婷婷一区| 久久av免费一区| 国产麻豆午夜三级精品| 狠狠色2019综合网| 久久精品一级爱片| 欧美一区二区观看视频| 国产精品美女999| 午夜免费久久久久| 亚洲欧美激情四射在线日 | 久久激情五月婷婷| 午夜精品美女久久久久av福利| 国产精品久久久久aaaa樱花| 亚洲一区二区三区精品在线| 一区二区三区国产| 国产精品三级视频| 久久久av毛片精品| 久久精品国产精品亚洲综合| 精品91在线| 欧美成人一二三| 欧美成人小视频| 一本色道久久综合亚洲精品不卡| 日韩午夜免费| 国产精品女主播| 久久精品一区蜜桃臀影院| 欧美中文字幕视频| 亚洲第一精品夜夜躁人人爽| 亚洲高清在线播放| 欧美日韩三级电影在线| 亚洲欧美日韩在线播放| 亚洲摸下面视频| 极品尤物av久久免费看| 欧美高清视频一区二区| 欧美日韩黄色大片| 午夜精品影院| 久久久精品一区二区三区| 最近中文字幕mv在线一区二区三区四区 | 欧美系列亚洲系列| 欧美伊人久久大香线蕉综合69| 久久福利毛片| 亚洲肉体裸体xxxx137| 一本色道久久综合| 国产精品日韩精品欧美精品| 久久夜色精品国产亚洲aⅴ | av成人激情| 亚洲综合电影| 亚洲高清资源综合久久精品| 亚洲精选一区二区| 国产日韩精品视频一区| 另类亚洲自拍| 欧美日韩综合网| 久久久久九九九| 欧美激情第一页xxx| 香港久久久电影| 久久久久久夜精品精品免费| 亚洲免费黄色| 性亚洲最疯狂xxxx高清| 亚洲日韩中文字幕在线播放| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲毛片av在线| 国产手机视频精品| 亚洲国产精品久久久久婷婷884| 国产精品久久久久久久久久ktv | 最新亚洲激情| 亚洲欧美99| 亚洲国产精品第一区二区| 一区二区三区 在线观看视| 一区二区三区中文在线观看| 99国产精品99久久久久久| 好吊妞这里只有精品| 99视频精品| 91久久精品www人人做人人爽| 亚洲午夜羞羞片| 亚洲欧洲一区二区在线观看| 欧美亚洲视频一区二区| 一区二区久久| 久久这里只精品最新地址| 亚洲欧美在线x视频| 欧美福利一区二区三区| 久久天天狠狠| 国产精品免费区二区三区观看| 亚洲国产欧美一区二区三区久久| 国产亚洲在线观看| 99国产精品久久久久久久| 亚洲福利一区| 午夜视频精品| 亚洲欧美国产77777| 欧美国产精品人人做人人爱| 久久一区二区视频| 国产精品一区二区在线| 日韩一区二区免费高清| 亚洲精品综合精品自拍| 久久婷婷av| 久久久精品一区| 国产乱人伦精品一区二区| 99亚洲视频| 一本久久a久久免费精品不卡| 麻豆精品网站| 久久综合九色| 国产在线一区二区三区四区| 亚洲欧美网站| 午夜伦理片一区| 国产精品成人av性教育| 亚洲美女精品久久| 日韩网站在线观看| 欧美成人伊人久久综合网| 免费亚洲电影在线| 伊人狠狠色j香婷婷综合| 久久精品国内一区二区三区| 久久国产精品久久久久久| 国产精品久久久久毛片大屁完整版 | 久热精品视频在线观看| 久久综合久久久久88| 国产一区二区三区不卡在线观看 | 久久久久久电影| 国产欧美日韩综合| 亚洲欧美三级伦理| 午夜久久久久久久久久一区二区| 欧美午夜寂寞影院| 99国产精品久久久| 亚洲一区二区不卡免费| 欧美日一区二区在线观看| 99视频有精品| 亚洲专区一区| 国产精品久久99| 亚洲一区三区视频在线观看| 午夜精品视频在线观看一区二区| 国产精品视频99| 性欧美超级视频| 蜜桃av一区| 亚洲日本国产| 欧美日韩精品一区二区| 在线亚洲电影| 欧美在线看片a免费观看| 国产亚洲精品aa| 久久精品国产免费看久久精品| 美女视频黄 久久| 亚洲黑丝在线| 欧美日韩一区二区在线视频 | 亚洲一级在线观看| 午夜久久福利| 激情久久久久久久| 欧美成人精品高清在线播放| 亚洲片在线资源| 亚洲欧美激情诱惑|