亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

DX圖形流程(基于MESH靜態模型繪制----托管代碼)

2019-11-18 12:00:43
字體:
來源:轉載
供稿:網友

  MESH的得到一般使用Mesh.FromFile方法。當然它有很多個重載。
  
  一般使用 public static Mesh FromFile(string, MeshFlags, Device, out ExtendedMaterial); 方法。要注重的是,MESH的讀取要在初始D3D設備以后來作。在MESH的初始方法中都需要D3D設備為參數,以后的MESH繪制也使用此設備。
  
  對D3D設備的初始化中設置一般的顯示屬性,比如:深度測試,多重采樣,燈光渲染開關,等等。
  
  PResentParameters presentParams = new PresentParameters();
  
  presentParams.Windowed=true;
  
  presentParams.SwapEffect = SwapEffect.Discard;
  
  presentParams.EnableAutoDepthStencil=true;
  
  presentParams.AutoDepthStencilFormat=DepthFormat.D16;
  
  presentParams.MultiSample=MultiSampleType.NonMaskable;
  
  MyDev = new Device(0, DeviceType.Hardware, this,CreateFlags.HardwareVerteXProcessing, presentParams);
  
  MyDev.RenderState.MultiSampleAntiAlias=true;
  
  MyDev.RenderState.Lighting=true;
  
  MyDev.RenderState.CullMode=Cull.None;
  
  MyDev.RenderState.ZBufferEnable=true;
  
  MyDev.RenderState.ZBufferFunction=Compare.LessEqual;
  
  MyDev.RenderState.ZBufferWriteEnable=true;
  
  MyDev.RenderState.Ambient=MaterColor;
  
  
  PresentParameters presentParams = new PresentParameters();
  
  presentParams.Windowed=true;
  
  presentParams.SwapEffect = SwapEffect.Discard;
  
  presentParams.EnableAutoDepthStencil=true;
  
  presentParams.AutoDepthStencilFormat=DepthFormat.D16;
  
  presentParams.MultiSample=MultiSampleType.NonMaskable;
  
  MyDev = new Device(0, DeviceType.Hardware, this,CreateFlags.HardwareVertexProcessing, presentParams);
  
  MyDev.RenderState.MultiSampleAntiAlias=true;
  
  MyDev.RenderState.Lighting=true;
  
  MyDev.RenderState.CullMode=Cull.None;
  
  MyDev.RenderState.ZBufferEnable=true;
  
  MyDev.RenderState.ZBufferFunction=Compare.LessEqual;
  
  MyDev.RenderState.ZBufferWriteEnable=true;
  
  MyDev.RenderState.Ambient=MaterColor;
  
  
  對于燈光的設置,可以根據需要放在每偵渲染函數內調整,也可以把固定燈光放在繪制之前。
  
  
  一般繪制一個MESH時候,其中每個模型塊都采用相同的世界矩陣。在繪制MESH之前設置好WORLDMATRIX即可。有時一個場景內MESH太多,而有些MESH共同組成一個物體時,對于每個MESH調整WORLDMATRIX可能會非常麻煩。所以最好是按照對應相對坐標調整好這些MESH的坐標,之后對這一組MESH采用同樣的WORLDMATRIX。在修改MESH頂點數據之前,先使用Mesh.Clone復制出一個自己控制頂點數據格式的MESH。
  
  public Mesh Clone(MeshFlags, VertexFormats, Device);
  
  根據你需要的 VertexFormats格式,便可以輕易的遍歷修改頂點數據。當然,在修改前不要忘記LOCK你要修改的數據流。
  
  
  對于MESH里包含的材質和紋理,需要你手動來調整。在MESH的FROMFILE中,已經OUT出了一個包含紋理的材質組ExtendedMaterial。
  
  我們要聲明一個材質組,一個紋理組。
  
  Texture[] meshTextures = new Texture[materials.Length];
  
  Material[] meshMaterials = new Direct3D.Material[materials.Length];
  
  之后分離材質和紋理。
  
  for( int i=0; i  
  {
  
  meshMaterials[i] = materials[i].Material3D;
  
  // Set the ambient color for the material. Direct3D
  
  // does not do this by default.
  
  meshMaterials[i].Ambient = meshMaterials[i].Diffuse;
  
  // Create the texture.
  
  meshTextures[i] = TextureLoader.FromFile(dev,materials[i].TextureFilename);
  
  }
  
  
  
  現在我們可以繪制MESH了。
  
  for( int i=0; i  
  {
  
  // Set the material and texture for this subset.
  
  device.Material = meshMaterials[i];
  
  device.SetTexture(0, meshTextures[i]);
  
  
  // Draw the mesh subset.
  
  mesh.DrawSubset(i);
  
  }
  
  最后別忘記device.EndScene();device.Present();
  
  
  在上邊D3D設備初始的時候,我們啟動了趁度測試,所以,在繪制每偵前,調用CLEAR函數時,一并要清理深度緩沖,否則繪制會一踏糊涂。
  
  DX圖形流程(基于MESH靜態模型繪制----托管代碼)
  
  以上是基本MESH靜態模型繪制。對于其他高級效果的繪制,以后再寫。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩免费网站| 欧美成人在线免费视频| 一本大道香蕉久在线播放29| 久久精品男人天堂| 久久久久久久久久久av| 亚洲天堂网站在线观看视频| 青草热久免费精品视频| 成人av在线天堂| 蜜臀久久99精品久久久无需会员| 中文字幕欧美精品在线| 欧美精品免费看| 国产有码一区二区| 欧洲美女7788成人免费视频| 国产精品久久一区主播| 中文字幕在线日韩| 欧美性猛xxx| 国语自产精品视频在线看一大j8| 亚洲精品视频中文字幕| 久久精品国产一区二区电影| 91视频国产高清| 日韩精品中文字| 精品视频—区二区三区免费| 中文字幕亚洲情99在线| 久久成人在线视频| 综合网日日天干夜夜久久| 国产精品视频导航| 国产狼人综合免费视频| 国产精品一区二区三区久久久| 国产亚洲精品91在线| 亚洲精品不卡在线| 久久久久久中文字幕| 97久久超碰福利国产精品…| 免费91麻豆精品国产自产在线观看| 狠狠躁天天躁日日躁欧美| 九九视频这里只有精品| 欧美孕妇与黑人孕交| 97人人模人人爽人人喊中文字| 久久91精品国产| 美女精品久久久| 国产v综合ⅴ日韩v欧美大片| 日韩大陆欧美高清视频区| 97人人模人人爽人人喊中文字| 久久视频免费观看| 国产精品夜色7777狼人| 久久精品国产精品| 亚洲香蕉av在线一区二区三区| 亚洲欧美日韩精品| 激情成人在线视频| 欧美中文在线观看国产| 国产精品旅馆在线| 高清一区二区三区日本久| 在线国产精品视频| 久久国产精品久久久久久| 国产精品草莓在线免费观看| 亚洲欧美成人在线| 日韩中文在线观看| 亚洲丁香婷深爱综合| 日韩美女免费视频| 国产成人精品视频在线观看| 国产精品视频精品视频| 亚洲免费伊人电影在线观看av| 欧美精品在线极品| 国产精品久久久久久久久久久久久| 国产精品入口免费视| 国产精品一区二区三区久久| 久久久久久九九九| 8090理伦午夜在线电影| 亚洲精品suv精品一区二区| 亚洲美女自拍视频| 91精品久久久久| 性欧美视频videos6一9| 亚洲偷欧美偷国内偷| 国产精品日韩久久久久| 中文字幕久热精品在线视频| 亚洲bt天天射| 69久久夜色精品国产69| 欧洲美女7788成人免费视频| 亚洲自拍欧美另类| 欧美野外猛男的大粗鳮| 91精品在线观看视频| 亚洲视频一区二区三区| 国产精品色视频| 国产日产亚洲精品| 亚洲成人激情在线| 日韩欧美中文在线| 日韩激情av在线免费观看| 国产精品一久久香蕉国产线看观看| 日韩在线资源网| 亚洲韩国青草视频| 成人精品一区二区三区电影免费| 日韩av最新在线观看| 96sao精品视频在线观看| 亚洲精品影视在线观看| 欧美高清在线视频观看不卡| 久久久久久久影院| 欧美另类第一页| 久久综合伊人77777尤物| 国产成人jvid在线播放| 午夜精品一区二区三区在线视频| 高跟丝袜欧美一区| 亚洲欧美自拍一区| 国产精品爱啪在线线免费观看| 久久久精品久久久久| 欧美一区二区三区精品电影| 国产欧美一区二区三区久久| 欧美激情按摩在线| 国产精品无码专区在线观看| 韩国国内大量揄拍精品视频| 美日韩精品视频免费看| 欧美日韩激情视频8区| 国产做受高潮69| 亚洲无限乱码一二三四麻| 午夜精品三级视频福利| 国产精品xxx视频| 精品精品国产国产自在线| 欧美在线中文字幕| 国产69精品久久久久久| 成人黄色免费片| 亚洲精品成人av| 国外日韩电影在线观看| 久久免费视频观看| 欧美色欧美亚洲高清在线视频| 欧美交受高潮1| 日韩一区二区av| 久久不射电影网| 久久视频免费观看| 亚洲乱码国产乱码精品精| 97在线观看免费高清| 国产亚洲欧美视频| 国产精品久久久久久久9999| 欧美日韩另类视频| 国产婷婷成人久久av免费高清| 亚洲永久免费观看| 精品视频—区二区三区免费| 欧洲亚洲免费在线| 日韩欧美一区二区三区久久| 亚洲第一区中文字幕| 日韩在线国产精品| 欧美激情国产日韩精品一区18| 日韩av在线精品| 66m—66摸成人免费视频| 亚洲精品综合久久中文字幕| 国产精品自产拍在线观| 欧美黄色www| 乱亲女秽乱长久久久| 日韩国产高清污视频在线观看| 欧美专区国产专区| 国产日韩欧美在线播放| 亚洲天堂网站在线观看视频| 在线观看亚洲区| 国产精品久久二区| 免费99精品国产自在在线| 久久久午夜视频| 国产一区二区日韩精品欧美精品| 中文字幕亚洲无线码在线一区| 丝袜亚洲另类欧美重口| 国产视频丨精品|在线观看| 国产成人自拍视频在线观看| 欧美在线视频播放| 亚洲国产高清自拍| 成人在线激情视频| 欧美丰满片xxx777| 97在线精品视频| 伊人久久大香线蕉av一区二区|