欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

上位機開發(fā)必知:OBJ模型MTL材質(zhì)文件解析與渲染避坑指南

上位機開發(fā)必知:OBJ模型MTL材質(zhì)文件解析與渲染避坑指南 做上位機這些年見過太多把 OBJ 模型加載進來結(jié)果屏幕上只有灰白色金屬塊的情況。問題往往不在模型本身而在它旁邊那個不起眼的.mtl文件。MTL全稱 Material Template Library是 OBJ 三維模型格式的材質(zhì)描述文件用來記錄模型表面的顏色、貼圖、透明度、高光和反射這些視覺屬性。我們在做設(shè)備數(shù)字孿生、虛擬調(diào)試、三維監(jiān)控界面時經(jīng)常要把機械設(shè)計軟件導(dǎo)出的模型直接搬進自己的上位機程序里OBJMTL 這套純文本組合是最省事的一條路比起 STL 只有幾何沒有外觀比起 glTF 又要處理 JSON 和二進制緩沖它簡單到可以用記事本打開就能看懂全部內(nèi)容。這篇文章適合幾類人一是用 C#、Qt、LabVIEW 做上位機打算在界面里加三維預(yù)覽的二是接到設(shè)備廠商給的模型包打不開或者加載出來效果不對的三是純粹想搞清楚 OBJ 后面掛個.mtl到底什么意思的。我下面把 MTL 的語法結(jié)構(gòu)、與 OBJ 的配合關(guān)系、在真實上位機項目里的解析思路全部攤開講一遍最后附上我踩過的坑和排查記錄照著做基本能避開 90% 的格式坑。1. 為什么上位機開發(fā)要懂 MTL 文件1.1 從工業(yè)場景看 MTL 的真實用途很多上位機開發(fā)者第一次接觸三維模型是在做設(shè)備狀態(tài)監(jiān)控或者虛擬調(diào)試的時候?,F(xiàn)場的設(shè)備可能是 CNC 機床、機器人、輸送線廠家往往給一個 STEP 或者 STP 文件但這類格式在通用圖形庫里面基本沒法直接加載。大家最后都會轉(zhuǎn)到 OBJ 格式上因為它是純文本BLE 通信傳輸、局域網(wǎng)共享、嵌入式設(shè)備里存著都方便隨便一個解析器就能讀。但 OBJ 文件只記錄了頂點坐標(biāo)、法線、紋理坐標(biāo)和面的連接關(guān)系相當(dāng)于模型的白模骨架。一臺機床再怎么復(fù)雜在 OBJ 里也只是一堆坐標(biāo)點和三角面。真正讓它看起來像機床的是表面的顏色和紋理——哪塊鋼板是灰色的、哪塊警示燈是紅色的、哪塊面板上有絲印貼圖這些信息全部寫在 MTL 文件里。如果只管 OBJ 不管 MTL最后渲染出來的就是一片灰白色的幾何體你分不清是機床還是抽象雕塑。在我參與的設(shè)備虛擬調(diào)試項目里三維場景的作用是讓操作員在電腦前先看到產(chǎn)線布局確認(rèn)設(shè)備和治具是否干涉、機器人軌跡是否碰撞。這種場景下模型的外觀不單是好看的問題而是直接影響判斷安全門用紅色、正常工位用綠色這些語義信息全靠 MTL 里的漫反射顏色值區(qū)分。所以解析 MTL 不是可有可無的加分項而是三維可視化功能能否真正落地的基本前提。1.2 為什么不直接選 glTF而選 OBJMTL現(xiàn)在三維格式很多glTF 是 Khronos 推出的標(biāo)準(zhǔn)還支持 PBR 材質(zhì)、骨骼動畫聽起來比 OBJMTL 先進不少。但放到上位機場景里情況不一樣。glTF 雖然功能強但它的結(jié)構(gòu)分成了.gltfJSON 描述和.bin二進制緩沖兩部分紋理圖還要獨立存放解析起來要考慮 URI 解析、緩沖視圖、訪問器這些概念而且很多工業(yè)軟件導(dǎo)出的 glTF 帶有大量擴展字段版本兼容性問題在項目里非常煩人。OBJMTL 的出現(xiàn)比 glTF 早得多從 90 年代 Wavefront 公司用到現(xiàn)在工業(yè)領(lǐng)域積累的存量模型基本都能找到 OBJ 版本。更重要的是它的心智模型特別直白OBJ 管幾何MTL 管外觀兩者通過文件名和關(guān)鍵字互相引用拆開看任何一個文件都能立刻明白意思。還有一個落地層面的考慮上位機程序往往運行在工控機上性能不強顯卡可能還是集成顯卡。OBJMTL 的幾何復(fù)雜度可以通過減面控制材質(zhì)屬性就是幾個浮點數(shù)和幾張貼圖渲染開銷很低。glTF 的 PBR 材質(zhì)對光照計算的要求更高在集成顯卡上跑得卡頓的可能性更大。對我來說不是 glTF 不好而是 OBJMTL 在“代碼簡單、跨平臺、低性能要求”這三個維度上更契合上位機開發(fā)的現(xiàn)實約束。1.3 理解了 MTL 才能看懂渲染結(jié)果為什么不對很多人在論壇上問“OBJ 加載出來沒有顏色怎么辦”本質(zhì)就是沒讀 MTL。但還有些更隱蔽的問題模型有顏色但太亮像塑料、某些面全黑、透明零件不透明、貼圖錯位。這些現(xiàn)象背后的原因都在 MTL 的參數(shù)里。比如 Ns 高光指數(shù)設(shè)置過小物體看起來就發(fā)白illum 光照模型選錯光線計算方式完全不同d 和 Tr 混用會導(dǎo)致透明度解析出相反的結(jié)果。這些細(xì)節(jié)用眼睛看不出來只能在解析代碼里逐個對照排查。所以我就養(yǎng)成了一個習(xí)慣拿到任何三維模型包先用文本編輯器打開.mtl文件看一遍。里面每個關(guān)鍵字都代表一種渲染屬性掃一眼就知道這個模型是簡單著色還是復(fù)雜貼圖也大概能預(yù)料到在渲染管線里會遇到什么坑。接下來我把 MTL 的語法體系完整拆開逐個說清楚。2. MTL 文件語法的細(xì)致拆解2.1 一個標(biāo)準(zhǔn) MTL 文件到底長什么樣MTL 是純文本格式每行一條指令#開頭是注釋空行忽略。一個文件里可以定義多個材質(zhì)每個材質(zhì)以newmtl開始后面跟材質(zhì)名屬于該材質(zhì)的所有屬性行都跟在它下面直到下一個newmtl為止。我拿一個典型的機加工設(shè)備外殼材質(zhì)舉例# Material file created by CAD Exporter newmtl steel_plate Ka 0.20 0.20 0.20 Kd 0.55 0.55 0.55 Ks 0.80 0.80 0.80 Ns 120.0 d 1.0 illum 2 map_Kd textures/steel_brushed.jpg newmtl red_warning_light Ka 0.30 0.00 0.00 Kd 0.85 0.10 0.10 Ks 0.60 0.60 0.60 Ns 200.0 d 1.0 illum 2第一段定義了一個叫steel_plate的金屬材質(zhì)環(huán)境色Ka是偏暗的灰漫反射色Kd是中灰色高光色Ks是亮灰Ns是 120 的高光指數(shù)d是不透明度 1.0illum 2表示啟用高光光照模型最后map_Kd指定了一張刷紋貼圖。第二段定義紅色警示燈材質(zhì)沒有貼圖用純色渲染。這種文件結(jié)構(gòu)看起來簡單但它傳達(dá)了一個關(guān)鍵信息每個材質(zhì)是獨立的屬性集合OBJ 里模型的每個面通過材質(zhì)名來“認(rèn)領(lǐng)”自己該用哪一套外觀參數(shù)。文件里Ka、Kd、Ks后面的三個數(shù)字分別是紅、綠、藍(lán)通道取值范圍 0.0 到 1.0跟我當(dāng)初以為的 0 到 255 完全不同這是新手第一道坎。2.2 關(guān)鍵指令逐個說清楚顏色、透明度、高光與光照模型MTL 里最核心的指令就十幾個但每個都會直接影響渲染輸出。我按屬性類別拆開講。顏色三件套Ka、Kd、KsKa是環(huán)境光顏色模擬物體在無直接光源時被環(huán)境光照射的顏色。在實時渲染里它常被用來做環(huán)境貼圖采樣的強度因子。Kd是漫反射顏色是物體在擴散光照下的表面顏色也是絕大多數(shù)情況下人眼看到的“主色調(diào)”。解析時如果只取一個顏色取Kd準(zhǔn)沒錯。Ks是高光顏色表示鏡面反射的強度與顏色。白色高光1.0 1.0 1.0會讓物體呈現(xiàn)塑料或清漆質(zhì)感接近Kd的高光會讓物體更像金屬。高光參數(shù)NsNs控制高光區(qū)域的銳利程度取值范圍通常在 0 到 1000數(shù)值越大高光斑越小越銳利。金屬拉絲表面一般是 200 以上橡膠表面可能就是 10 到 50。解析時要注意Ns對渲染結(jié)果的影響不像Kd那么直觀但如果設(shè)置不對同一個模型在不同光照下會呈現(xiàn)完全不同的質(zhì)感。透明度d 與 Tr這是一個特別容易踩坑的點。d是 dissolve表示不透明度1.0 完全不透明0.0 完全透明。另外有些工具導(dǎo)出的是Tr表示透明度1.0 完全透明0.0 完全不透明。兩者是相反的語義很多模型文件里同時出現(xiàn)d 1.0和Tr 0.0意思其實一樣。解析時我的做法是如果存在d以d為準(zhǔn)如果只有Tr用1 - Tr換算成不透明度。否則透明零件就會變成實心或者反過來完全看不見。光照模型illumillum后面跟一個整數(shù)0 到 10聲明材質(zhì)的光照計算模型。工業(yè)模型里最常見的幾個值取值含義實際表現(xiàn)0顏色常亮不受光照影響適合自發(fā)光警示燈、屏幕1漫反射環(huán)境光無高光啞光塑料、噴砂鋁2漫反射高光最常見適合大多數(shù)金屬和塑料3反射高光光線追蹤鏡面金屬實時渲染通常降級處理4透明玻璃光線追蹤玻璃罩實時渲染用透明度近似6折射反射光線追蹤透鏡實時渲染處理起來復(fù)雜實時渲染管線和光線追蹤不同illum 0就應(yīng)該關(guān)閉光照直接輸出Kd顏色illum 1忽略Ks和Nsillum 2執(zhí)行標(biāo)準(zhǔn)的光照模型。很多透明件渲染發(fā)黑就是因為illum 4在實時渲染里需要單獨處理直接用漫反射光照當(dāng)然不對。折射率NiNi是光學(xué)折射率一般玻璃是 1.45水是 1.33。實時渲染里如果不開光線追蹤這個值基本用不上但保存起來沒有壞處。解析時保留為浮點字段即可不用做校驗。2.3 紋理貼圖指令與常見路徑陷阱MTL 的貼圖指令以map_開頭后面跟貼圖類型。最常見的幾個map_Kd漫反射貼圖替換或疊加Kd顏色是工業(yè)模型里最常用的貼圖類型。map_Ka環(huán)境光貼圖通常與map_Kd相同有的工具會省略。map_Ks高光貼圖控制高光的強度分布。map_Ns高光指數(shù)貼圖用像素值控制表面光滑度差異。map_d透明貼圖用貼圖灰度控制透明度。map_bump或bump凹凸貼圖制造表面凹凸感不改變幾何。refl反射貼圖球面環(huán)境映射老式模型里常見工業(yè)實時渲染用得少。路徑問題是這里的重頭戲。MTL 里的貼圖路徑可能有三種寫法map_Kd texture.jpg同目錄相對路徑、map_Kd textures/steel.jpg子目錄相對路徑、map_Kd C:\models\maps\steel.jpg絕對路徑。上位機程序里絕對路徑幾乎肯定出問題因為文件拷到工控機上路徑早就變了。子目錄相對路徑還算友好但解析時要注意基準(zhǔn)目錄是“MTL 文件所在目錄”而不是 OBJ 文件所在目錄。我見過不少模型把 MTL 放在models/materials/貼圖放在models/textures/OBJ 引用 MTL 時寫materials/model.mtlMTL 里引用貼圖寫../textures/tex.jpg這種跨級相對路徑在拼接時特別容易算出多余的空目錄加載失敗率極高。處理辦法是在解析函數(shù)里先做路徑歸一化把..抹掉再判斷文件是否存在并且做一個兜底邏輯在 MTL 文件目錄、OBJ 文件目錄、當(dāng)前工作目錄三個位置都找一遍貼圖找不到就打印警告不直接崩潰。3. 解析 MTL 之前先把 OBJ 的引用關(guān)系捋清楚3.1 坐標(biāo)與索引約定為什么老手也會翻車OBJ 和 MTL 是配套使用的OBJ 文件通過兩條指令引用材質(zhì)mtllib聲明外部材質(zhì)庫文件的文件名usemtl聲明后續(xù)的面使用哪個材質(zhì)。一個 OBJ 文件可以有多個mtllib聲明也可以有多個usemtl這就形成了“幾何分組—材質(zhì)”的映射關(guān)系。索引基數(shù)是 OBJ 最坑的細(xì)節(jié)之一。OBJ 里所有索引從 1 開始不是從 0 開始f 1/1/1 2/2/1 3/3/1的第一組數(shù)字對應(yīng)第一個頂點位置紋理坐標(biāo)和法線索引各自獨立計數(shù)。用 C# 的 List 或數(shù)組時記得讀取索引后減 1 再訪問元素否則三角形永遠(yuǎn)錯位一格。這個問題在解析 OBJ 時最常見跟 MTL 的關(guān)系在于材質(zhì)引用usemtl的位置是按面的順序生效的索引算錯了面就歸錯組材質(zhì)貼錯位置。另外 OBJ 里面的行可以寫f 1 2 3也可以寫f 1/1 2/2 3/3還可以寫f 1//1 2//2 3//3。三種格式分別代表“只有頂點”“頂點紋理”“頂點法線”。解析時用Split(/)之后數(shù)組長度可能為 1、2、3必須有對應(yīng)的分支處理不能默認(rèn)長度固定。3.2 材質(zhì)分組邏輯usemtl 與對象分區(qū)的映射OBJ 文件里模型的幾何體排列順序是有講究的。機械設(shè)計軟件導(dǎo)出 OBJ 時零件基本按創(chuàng)建順序輸出同一個零件下面的三角面在文件里連續(xù)排列并且在第一個面前面有一行usemtl 零件材質(zhì)名。所以解析時的流程應(yīng)該是遇到usemtl切換當(dāng)前材質(zhì)后續(xù)所有面全部記錄到該材質(zhì)的分組里直到下一個usemtl出現(xiàn)。有些模型在導(dǎo)出時會把多個零件合并成一個 OBJ 文件但材質(zhì)名保留各自獨立這樣加載進來之后雖然是一個 Mesh卻能通過材質(zhì)分組拆成多個子物體。對接上位機項目時這個特性可以用來做“按材質(zhì)高亮”“統(tǒng)計同材質(zhì)面積”之類的功能。我做過一個設(shè)備點檢界面點擊故障燈區(qū)域就要高亮整個 warning 燈外殼其實就是把 OBJ 里usemtl red_warning_light下面的所有面收集起來單獨渲染一遍。3.3 紋理坐標(biāo)與 OBJ vt 的銜接MTL 里的map_Kd貼圖要正確貼在模型表面OBJ 里必須有對應(yīng)的紋理坐標(biāo)vt。紋理坐標(biāo)是二維的范圍通常是 0.0 到 1.0映射規(guī)則是貼圖左下角(0,0)右上角(1,1)。很多工業(yè)導(dǎo)出的 OBJ 會用 UV 展開工具生成好vt但也有些模型完全沒有紋理坐標(biāo)這時即使 MTL 里寫了map_Kd貼圖也貼不上去只能退化為純色渲染。解析時需要檢查的是OBJ 里是否存在vt記錄面的索引里是否包含紋理坐標(biāo)分量如果存在但沒有加載map_Kd說明材質(zhì)和幾何沒有接上如果既有 MTL 的貼圖索引又存在vt還要注意坐標(biāo)系的 Y 軸方向。部分建模軟件使用左上角為原點的坐標(biāo)系輸出的vt需要做1 - v翻轉(zhuǎn)否則貼圖會上下顛倒。工業(yè)模型里這個問題常見于從 SolidWorks 和 Rhino 導(dǎo)出的文件我每次看到vt都會留意一下貼圖方向。4. 用 C# 解析 MTL 的完整實操4.1 先設(shè)計一個適合渲染用的 Material 數(shù)據(jù)結(jié)構(gòu)解析 MTL 之前先把內(nèi)存里的數(shù)據(jù)結(jié)構(gòu)定好解析器就只管往里面填數(shù)據(jù)渲染層直接讀取。我用 C# 定義了一個精簡但完整的材質(zhì)類public class MtlMaterial { public string Name { get; set; } // newmtl 后面的名字 public Vector3 Ka { get; set; } new Vector3(0.2f, 0.2f, 0.2f); public Vector3 Kd { get; set; } new Vector3(0.8f, 0.8f, 0.8f); public Vector3 Ks { get; set; } new Vector3(1f, 1f, 1f); public float Ns { get; set; } 100f; public float D { get; set; } 1f; // 不透明度 public float Ni { get; set; } 1f; public int Illum { get; set; } 2; public string MapKdPath { get; set; } // 漫反射貼圖路徑 public string MapKaPath { get; set; } public string MapBumpPath { get; set; } public string MapDPath { get; set; } public bool IsTransparent D 0.99f || !string.IsNullOrEmpty(MapDPath); }Vector3可以用自己寫的三維向量結(jié)構(gòu)體替代不一定要引入數(shù)學(xué)庫。這個類的關(guān)鍵點是給每個字段都設(shè)了默認(rèn)值這樣即使 MTL 里缺少某個屬性渲染也不會因為取到空值而報錯。工業(yè)模型千奇百怪有的材質(zhì)只寫了Kd其余全缺默認(rèn)值兜底很重要。4.2 逐行解析處理指令分發(fā)的核心代碼解析的核心邏輯是按行讀取切分指令和參數(shù)再分發(fā)到對應(yīng)的處理分支。下面這段代碼是我在項目里用過的簡化版本已經(jīng)處理了注釋、大小寫、d/Tr語義轉(zhuǎn)換這幾個關(guān)鍵點public static MtlMaterial[] ParseMtl(string mtlPath) { var materials new ListMtlMaterial(); MtlMaterial current null; foreach (var rawLine in File.ReadLines(mtlPath)) { // 去掉注釋部分 int commentIdx rawLine.IndexOf(#); string line commentIdx 0 ? rawLine.Substring(0, commentIdx) : rawLine; line line.Trim(); if (line.Length 0) continue; // 按空白字符拆分關(guān)鍵字和參數(shù)分離 var parts line.Split(new[] { , \t }, StringSplitOptions.RemoveEmptyEntries); var key parts[0].ToLowerInvariant(); switch (key) { case newmtl: if (parts.Length 1) { current new MtlMaterial { Name parts[1] }; materials.Add(current); } break; case ka: if (current ! null parts.Length 4) current.Ka new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case kd: if (current ! null parts.Length 4) current.Kd new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case ks: if (current ! null parts.Length 4) current.Ks new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case ns: if (current ! null parts.Length 2) current.Ns float.Parse(parts[1], CultureInfo.InvariantCulture); break; case d: if (current ! null parts.Length 2) current.D float.Parse(parts[1], CultureInfo.InvariantCulture); break; case tr: // Tr 是透明度需要轉(zhuǎn)換為不透明度 if (current ! null parts.Length 2) current.D 1f - float.Parse(parts[1], CultureInfo.InvariantCulture); break; case illum: if (current ! null parts.Length 2) current.Illum int.Parse(parts[1]); break; case map_kd: if (current ! null parts.Length 2) current.MapKdPath string.Join( , parts.Skip(1)); break; case map_ka: if (current ! null parts.Length 2) current.MapKaPath string.Join( , parts.Skip(1)); break; case map_bump: case bump: if (current ! null parts.Length 2) current.MapBumpPath string.Join( , parts.Skip(1)); break; case map_d: if (current ! null parts.Length 2) current.MapDPath string.Join( , parts.Skip(1)); break; default: // 其他的關(guān)鍵字Ni、refl、Ke 等暫時忽略 break; } } return materials.ToArray(); }這段代碼里有幾個細(xì)節(jié)值得說一下。float.Parse必須傳CultureInfo.InvariantCulture因為有些 MTL 文件是國外軟件導(dǎo)出的小數(shù)點分隔符是.但工控機上運行程序時如果系統(tǒng)區(qū)域設(shè)置是德語、法語等地區(qū)默認(rèn)分隔符會變成,不指定不變文化就會解析異常。我曾經(jīng)在一臺區(qū)域設(shè)置為“波蘭語”的工控機上踩過這個坑程序在其他機器上跑得好好的偏偏那臺上線就崩潰查了半天才定位到是浮點解析的國際化問題。map_Kd后面的內(nèi)容不一定只是路徑。規(guī)范允許帶參數(shù)比如map_Kd -s 1 1 1 texture.jpg、map_Kd -o 0.5 0.5 0 texture.jpg。如果直接用parts[1]取路徑就會取到-s所以用string.Join( , parts.Skip(1))把剩余部分全部拼回來再在后面的路徑清理函數(shù)里剔除選項參數(shù)。真實項目的 MTL 文件里出現(xiàn)這類帶參數(shù)語句的概率不低寫解析器時一定要預(yù)留。4.3 紋理加載與路徑拼接的細(xì)節(jié)解析完 MTL 文本接下來要面對的是貼圖文件。貼圖路徑在實際項目里五花八門有些路徑里帶空格、有中文、有\(zhòng)和/混用還有大小寫不一致的問題。我的加載函數(shù)是這樣處理的private static string ResolveTexturePath(string rawPath, string mtlDir) { if (string.IsNullOrWhiteSpace(rawPath)) return null; // 去掉 MTL 里可能存在的選項參數(shù)如 -s、-o var cleaned rawPath.Trim(); cleaned cleaned.Replace(\\, /); // 如果包含空格且看起來像參數(shù)去掉第一個空格前的內(nèi)容 if (cleaned.StartsWith(-)) { int spaceIdx cleaned.IndexOf( ); if (spaceIdx 0) { var remainder cleaned.Substring(spaceIdx 1).Trim(); if (remainder.Length 0) cleaned remainder; } } // 候選路徑列表 var candidates new Liststring(); if (Path.IsPathRooted(cleaned)) { candidates.Add(cleaned); } else { candidates.Add(Path.Combine(mtlDir, cleaned)); // 兼容常見的上級目錄引用 candidates.Add(Path.Combine(mtlDir, .., cleaned)); } foreach (var path in candidates) { if (File.Exists(path)) return Path.GetFullPath(path); } return null; }這個函數(shù)不負(fù)責(zé)把貼圖解碼進顯存只負(fù)責(zé)找到準(zhǔn)確的磁盤路徑。真正的紋理加載還要考慮如果 MTL 里沒有map_Kd就用Kd純色填充避免出現(xiàn)“模型紫黑色”的默認(rèn)錯誤如果貼圖存在但解碼失敗也要回退到純色不能中斷加載流程。在.NET環(huán)境下System.Drawing和Image.FromFile對圖片格式的兼容性還行但要注意內(nèi)存釋放StbImageSharp是更好的選擇解碼速度快且不依賴系統(tǒng) GDI。加載完成后我一般統(tǒng)一轉(zhuǎn)為 BGRA32 像素格式方便交給 OpenGL 或 DirectX 紋理接口。4.4 渲染前你還需要做的小處理MTL 解析完成、貼圖加載完成離正確渲染還差幾步收尾工作。第一透明物體排序MTL 里的透明材質(zhì)需要放到渲染隊列的后面并且關(guān)閉深度寫入否則透明件后面的物體全都被遮擋看不見。第二紋理的 Y 軸方向很多引擎的紋理坐標(biāo)系和 OBJ 的vt不一致加載貼圖到紋理對象時需要做一個垂直翻轉(zhuǎn)或者在采樣時翻轉(zhuǎn)t坐標(biāo)。第三材質(zhì)緩存同一個 MTL 文件可能在多幀加載中被反復(fù)引用用字典按材質(zhì)名做緩存避免模型切換時重復(fù) IO。5. 常見問題與排查實錄5.1 排查記錄一樁“全白”事故去年做一個機器人上下料工站的上位機界面甲方給的 OBJ 模型加載進來全是白色的連形狀都看不清。我第一反應(yīng)是 MTL 沒讀進來打開日志發(fā)現(xiàn)mtllib后面寫的文件名是robot_v2.mtl但實際文件叫ROBOT_V2.MTLWindows 文件系統(tǒng)不區(qū)分大小寫所以 File.Exists 找到了文件但在項目里我們用的是 Linux 工控機文件名大小寫敏感直接找不到 MTL。這個案例讓我養(yǎng)成一個習(xí)慣所有路徑查找都不信任文件系統(tǒng)的大小寫規(guī)則先File.Exists探測不行就走目錄掃描匹配。又有一次白色問題出在Kd的值上。設(shè)備外殼材質(zhì)Kd 4.0 4.0 4.0數(shù)值遠(yuǎn)大于 1.0。這種超標(biāo)值在一些渲染器里會被當(dāng)作 HDR 顏色處理顏色會泛白在另一些渲染器里直接截斷成純白。工業(yè)設(shè)計軟件導(dǎo)出的 MTL 偶爾會寫出這種不規(guī)范的數(shù)值解析時我是用Math.Min(1.0f, value)做鉗制的實測渲染色感正常。5.2 問題速查表我把項目里遇到過的高頻問題匯總成了一張表方便排查時對照現(xiàn)象可能原因解決方法整個模型無顏色MTL 路徑錯誤或未解析檢查 OBJ 的mtllib引用和 MTL 文件是否存在部分面無顏色usemtl缺失或拼寫錯誤檢查材質(zhì)名是否大小寫完全一致貼圖顯示不出來貼圖路徑不存在或格式不支持用路徑解析函數(shù)搜索多個候選目錄檢查貼圖格式模型全黑illum 0或光照方向反向?qū)llum 0直接輸出Kd確認(rèn)法線方向透明件不透明d解析錯誤或渲染未排序檢查d/Tr語義打開深度寫入分離渲染貼圖上下顛倒紋理坐標(biāo)系 Y 軸不一致采樣時翻轉(zhuǎn)t軸高光過曝全白Ns過小或Ks過大調(diào)大Ns到 100Ks限制在 1.0 以內(nèi)中文路徑打不開工控機區(qū)域編碼不匹配統(tǒng)一用 UTF-8 讀文件路徑用 Unicode 字符集5.3 避坑技巧解析器之外的工程習(xí)慣除了技術(shù)細(xì)節(jié)還有幾個工程層面的習(xí)慣幫我少走了很多彎路。第一永遠(yuǎn)不要用記事本編輯 MTL 后另存為 UTF-8 with BOM。BOM 頭會插在文件最前面解析第一行newmtl時拼上三個亂碼字符材質(zhì)名徹底對不上。我自己的解決方案是解析前先判斷字節(jié)流前三個字節(jié)是不是EF BB BF有就去掉。第二從不同軟件導(dǎo)出的 MTL 格式差異很大。SolidWorks 導(dǎo)出是單材質(zhì)多貼圖Pro/E 導(dǎo)出經(jīng)常把顏色寫進 OBJ 的v頂點色而不是 MTL3ds Max 導(dǎo)出經(jīng)常帶map_Kd和大量的-o、-s選項。我寫了一個小的“MTL 預(yù)覽器”把解析結(jié)果以表格形式列出來文件名、貼圖是否存在、透明度值是多少一目了然排查問題時比直接翻渲染畫面高效得多。第三在生產(chǎn)環(huán)境里模型文件最好統(tǒng)一走一個“資源打包”流程把 OBJ、MTL、貼圖全部拷到一個固定目錄結(jié)構(gòu)下用腳本檢查一遍路徑引用最后生成一個帶校驗和的資源清單。這一步看起來繁瑣但能避免很多“在開發(fā)機上好端端的一部署到現(xiàn)場就找不到文件”的尷尬。5.4 給 Qt / LabVIEW 開發(fā)者的移植提示我用 C# 講的解析邏輯換到其他語言同樣成立。Qt 里可以用QTextStream按行讀QColor直接存顏色QOpenGLTexture加載貼圖路徑拼接用QDir::cleanPath處理..LabVIEW 里可以用“讀取電子表格”控件按行解析字符串拆分后轉(zhuǎn)數(shù)值只是異常捕獲不如文本語言方便更要在解析前做好數(shù)據(jù)校驗。核心思路是不變的分清楚哪些是幾何信息OBJ哪些是外觀信息MTL解析時先有完整的數(shù)據(jù)結(jié)構(gòu)再去逐行填值遇到未知關(guān)鍵字跳過而不是報錯紋理丟失時回退到純色而不是黑屏。最后再分享一個小技巧給 OBJ 加載器寫測試用例時不要只用 SolidWorks 導(dǎo)出的標(biāo)準(zhǔn)模型專門準(zhǔn)備幾個畸形 MTL 文件——缺Kd、d和Tr混用、貼圖路徑帶空格、illum寫了個 99。把這些文件喂給解析器能扛住不崩潰、不白屏的解析器到現(xiàn)場才穩(wěn)得住。三維模型加載這塊真正拉開差距的不是把正常文件解析對而是把不正常文件解析得不難看。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精产国品一二三在观看| 99热情这里只有精品在线播放| 严洲天天插| 欧美性生交XXXXX无码小说| 激情综合青草| 日日夜夜九九| WWW.99视频| 97操视频| 91人久| 17.c黄色| 色婷婷19| 欧亚成人A片一区二区| 亚洲爱爱无码婷婷色五月| 情欲禁地| 思思热在线观看| av国产精品偷| 亚洲亚洲人成综合网络| 色香欲综合| 超碰91人人操| www.97视频| 俺去啦综合网| 五月香婷婷| www.久久99| 九九热短视频在线观看| 日韩性视频| 久久婷婷热| 热久久视频99| 日本人妻A片成人免费看片| 六月婷婷开心| 99久久极情精品一区| 六月婷婷啪啪| 97在线观看| 丰满熟女人妻一区二区三| 影音先锋偷偷色男人站| 影音先锋女人AA鲁色资源 | 91聚色综合网| AV性爱在线| 国产精品色一哟哟| 欧美日韩91| 极品人妻VIDEOSSS人妻| 色婷| 丁香五月香蕉| 亚洲热综合网在线观看| 51XX午夜影福利| 亚洲mm色| 丁香五月婷婷亚洲人| 久久综合婷婷激情| 丁香五月婷婷五月| 中文在线成人| 去干网最新版本亚洲版| 六月五月丁香五月欧美| 九热免费视频| 特黄三级又爽又粗又大| 欧美成人AAA片一区国产精品| 五月天五月天激情网| 国产成人综合在线| 亚洲激情六月| 草草女人亚洲| 天天日天天插| 亚洲精品婷婷| www,色婷婷| 久色成人| 亚洲婷婷视频| 六月婷久久| 欧美黄色一级录像| 九九在线视频| 99色在线| 91一起操| 夜夜大香蕉婷婷丁香| 天天成人五月天| 色香久久| 五月天怕怕| 噼里啪啦完整版中文在线观看 | 色八月婷婷| 亚洲色区17| 亚洲综合激情五月久久| 99热在线播放| 激情五月婷婷综合| 玖玖午夜视频| 丁香成人五月天| 2025最新亚洲激情在线| 丁香婷婷综合精品六月初| 婷婷五月天丁香久久| 亚洲激情综合| 日本久久99| 超碰人人超碰| 色婷婷a v| 五月天久久丁香| 密臀久久| 99精品视频在线6| 激情99| 一区二区你懂的| 噼里啪啦完整版中文在线观看 | 激情99| 五月婷婷 自拍| 丁香五月激情网| 99色在线| 99re思思热久久| 欧美色性色好| 色激情五月| 天天做好综合色| 天天影视色综合网| 激情五月天婷婷视频| 日本色婷婷综合| 97人人操人人爽| 狠狠色97| 日本色图综合| 九九香蕉网| 无码yw| 亚洲永远av在线播放| 婷婷影院A成人| 丁香五月av| 伊人在线视频| 99热这里只有精品99| 六月激情婷婷| 五月婷在线| 丁香在线视频| 国产又色又爽又黄又免费| 国产亚洲精品久久久久久豆腐| 五月丁香网站| 色婷婷五月天综合网| 激情深爱婷婷网| 婷婷五月天成人网| 夜夜骑日日操| 久久人人人人妻| 六月丁香激情最新更新| 日日艹思思热| 中文在线成人| www.五月丁香| 91精品激情9| 婷婷六月丁香五月图区| 久久全色| 欧美色色色色色| www.五月婷婷久久.com| 五月婷婷中字在线| 青青草原福利在线| 日韩操逼大片| 亚洲欧美成人在线| 色色色色网| 99视频在线观看网址| 五月性色| 久久婷婷视频| 久久久久久久久18久久| 亚洲成人九九九| 夜夜躁婷婷AV| xxxx五月激情| 五月天六月婷婷电影| 99在线亚洲| 丁香五月天堂| 丁香五月成人社区| 大香蕉福利导航| 五月丁香婷婷99| 99热线观看9| 欧美性生交XXXXX无码小说| 香蕉人妻AV久久久久天天| 亚洲区在线| 久久久久婷 | 大香蕉AV在线| 婷婷五月天性色| 区欧美日韩成人| 丁香六月激情综合网| 99超级碰碰| 91操操| 五月永久激情| 色五月五月婷婷| 亚洲热视频在线| 欧美性猛交 XXXX 乱大交| www.丁香六月婷婷久久天堂影院.con| 先锋资源婷婷| 五月天伊人日日噜影片AV| 婷婷久久亚洲| 狠狠五月天| 激情五月四色| 五月六月播婷婷| 色婷婷亚洲在线| 激情婷婷五月天| 日日夜夜狠狠| 五月婷婷六月丁香首页| 丁香五月婷婷色五月| 色婷婷亚洲精品天天综| 综合久久99| A片天天| 日韩成人电影在线播放| 激情综合亚洲色婷婷五月| 99热在线看片| 日本www免费九九| 色五月天丁香婷婷| SESE无码AV| 99精品自拍视频| 人人插操| 青青热视频| 色天天综合| 香蕉综合网| 教师性爱毛片| 二人电影免费版在线观看| av五月天婷婷丁香| 熟妇内谢69XXXXXA片| 开心五月婷婷综合在线精品素人| 狠狠色激情在线| 99∨VTV| 少妇高潮呻吟A片免费看软件| 久久婷婷东京热大香樵| 久久精品永久免费| 九九亚洲视频| 五月婷中文字幕| 99免费视频精品| 99婷婷| 在线色婷婷| 亚洲国产精品成人免费一区久久久在线观看AAAA | 狠狠色丁香婷婷综合久久97AV| 欧洲亚洲午夜| 欧美月久久| 丁香六月天婷婷色| 99亚洲精品| 色色色色色色色色色色色色色97| 婷婷六月五月天综合| 久久九九国产精品怡红院| 婷婷激情五月天激情小说| 思思视频这里是精品| 久久看婷婷| 亚洲永远av在线播放| 丁香综合伊人| 26uuu日韩| 日本九九视频| a久久| www,婷婷,com| 五月婷婷综合色拍| 熟女人妻一区二区三区免费看| 97色色婷婷五月天| 91操色| 久久精彩视频| 成人在线日韩欧美| 九九热这里只有精品6| 99综合五月免费视频色婷婷| 伊人五月人妻精品| 99视频| 五月色婷婷亚洲| 狼友视频在线观看18| 996热re视频在线观看视频| 欧美天天干五月丁香| 天天狠狠夜夜狠狠2023| 超碰av在线| 五月丁香激情婷婷| 国产免费AV在线| 丁香五月手机在线| 久热丁香| 日本在线99| 人妻操日日| 婷婷五月天干干| 无码 av电影| 五月婷婷综合网在线播放| 五月丁香欧美在线| 久久婷婷网址| 综合噜噜| 99婷婷国产最新视频| 人人播| 亚洲成人电影在线免费观看| 色五月激情婷婷| 久热99视频在线观看| 深爱五月天婷综合| 日韩不卡123| www.五月天社区| 中文字幕操比影片| 月婷婷婷婷五月| 亚洲九九婷婷| 国产激情久久| 色综合色欲综合天天免费| 日日干夜夜干| 色婷婷五月天不卡| 婷婷丁香社区| 天天操人人干| 激情五月网站| 九九热在线视频观看免费10| 婷婷性爱网| 亚洲综合婷婷| 做爰丰满少妇1313| 十月色综合| 亚洲色图日韩网址| 一级性爱视频| 日本色色网站| 狠狠色综合网站久久久久| 如何安全看伊人婷婷| 激情五月天视频| 天天天操天天天爰| 亚洲成人电影在线免费观看| 狼人婷婷久久| 精品无码色| 免费三级黄色| 久狠狠狠| site:xiongshengzz.com| 色99视频| 日日夜夜婷婷| 99操中文视频| 99国产在线精品视频| 综合激情深爱| 色婷婷久久综合| 99视频只有精品| 色婷五月| 婷婷激情在线| 久久视频在线视频| 99九九在线视频| 免费在线观看av网站| 中文字幕 中文字幕明步| 超碰91人人操| 久草婷婷在线| www.99热视频| 欧美va亚洲va在线播放| 色99热| 色色婷婷五月| 五月婷婷天天| 综合久色五月| 天天综合区| 大香蕉伊人99| 91色综合网站在线| 99热人人| 亚洲人成人五月天| 丁香五月激情六月欧亚激情综合导航| 婷婷丁香六月天| 五月99久久| 综合在线网| 色黄啪啪| 蜜臀AV在线观看| 五月天综合色| 人妻操在线看| 超碰国产在线播放| 六月激情婷婷| 激情五月狠狠| 五月伊人综合| 99热在线观看精品| 99五丁香月| 色情综合网| 婷婷五月丁香网| 色噜噜婷婷| 久久男人网婷婷| 深爱五月激情| 日本天天色| 婷婷综合五月天激情| 婷婷99丁香| 欧美性生交XXXXX无码小说| 五月天成人综合| 2025最新亚洲激情在线| 激情五婷网| 99re8热精品免费视频| 另类在线| 日韩av在线免费观看| 婷婷色五月天综合网| 激情综合五| 五月 成人 婷婷| 69er小视频| 久久婷色| 婷婷五月电影| av最新在线| 五月丁香婷婷成人网| 91操碰| 五月天亚洲色| 色五狠狠| 激情五月天小说视频| 色色激情五月天| 伊人玖玖网| 久cao香蕉影院| 人妻久久久| 超碰在线免费9| 亚洲六月色| 亚洲五月天狠狠| 九九热视频精品2| 大香蕉婷婷丁香| 色婷狠狠| 中文字幕人妻AV| 天天综合色| 任你爽视频| 色欲五月婷婷| 色九亚洲| 色99自拍| 任你爽精品免费视频6| 亚洲色视频| 五月花亭亭| 婷婷丁香五月视频| 五月情四婷婷| 一區四區歐美日韓| 色婷婷成人在线| www.婷婷| 丁香六月婷婷综合激情欧美| 丁香五月综合久久八| 丁香婷婷性爱| 人妻人人操| 色婷婷久久天天性爱| a色婷婷| 激情碰碰碰| 香蕉曰比| 美女被肏网站在线看| 久777| 超91热| 精品久久久中文字幕大豆网推荐理由| 五月天丁香婷婷网| 无语停婷丁香网| 久月久在线视频| 狠狠五月婷婷| 激情色情五月天| 午夜九九九九九九| 成人色图情色成人网 www.5b5b5bcom 五月天 | 日本社区五月天激情| 亚洲噜色| 夜夜操天天干| 九九干视频| 97人操人免费视频| 五月激情小说| 丁香五月婷婷网| 日本va欧美va欧美va精品| 9久热精品在线视频| 天天舔天天操| ...婷婷国产成人亚洲日韩| 北条麻妃伊人 | 激情五月天啪啪| 色噜噜伊人| 极品嫩草| 99re在线播放| 亚洲成人一区| 五月丁花六月丁香综合| 无码毛片992367| 久操97| 亚洲天堂99| 色婷婷狠狠18| 久久这里只有精品16| 大香蕉免费9| 乱乱av| 五月天色丁香| 噜噜色五月| 深爱五月亚洲| 天天日人人| 超碰在线综合| 五月天激情综合网| 丁香五月婷婷国产在线| 97高清国语自产拍| 五月丁香综合激情网| 婷婷激情视频欧美视频自拍视频欧美剧| 都市激情久久| 9l视频自拍9l九色成人| 97色色综合| 91av视频| 第四色色色色色丁香五月天| 精品一二三区久久AAA片| 人人操五月天| 五月天激情久久| 停婷丁五月在线| 天天色天天舔天天爱天天爽 | 五月激情综合深爱| 人人做人人看人人摸| 日本妈妈乱| 婷婷射图五月天| 香蕉乱插| 91精产品自偷自偷综合| 9久久精品视频| 丁香五月婷婷激情蜜桃| WWW色色色COM| 91美女艹逼网站| 90色免费视频| 婷婷色综合网日韩国产| 丁香五月玖玖| 婷婷久久色| 99视频综合网| 丁香花五月天婷婷成人社区| 久久婷婷五月综合色丁香花| 婷婷天天五月天| 亚洲综合五月天婷婷| 国产精产国品一二三在观看| 丁香婷婷五月香蕉91| 97在线99| 亚洲成人中文字幕| 久久色五月| 九艹在线| 亚洲美女婷婷五月天| 激情欧美婷婷| sewuyue第四色| 丁香五月天欧美在线| 亚洲中文乱字字幕线在永久| 色色色色色网站| 久久美女五月天| 婷婷六月色开 | 成人婷婷| 天天日天天舔| j五月香在线| 激情五月四色| 青996青| 色99在线视频| 天天天天天色| 婷婷五月天无码| 99久久www| 激情综合亚洲| 韩国中文字幕91| 日本欧美999久久久三级片| 东京热免费视频网站| 日本色天堂| 五月婷婷色播视频| 99热99热不卡| 九九99免费视频| 综合激情五月丁香| 婷婷丁香五月天色色| 大香蕉九九热| 欧美久久五月婷婷| 欧美激情VA永久在线播放| 99久久婷婷国产综合| 色情综合网| 97人人干视频| www.99久| 婷婷五月天狠狠搞干| 婷婷丁香激情综合色情| 成人无码髙潮喷水A片| 影音先锋一区二区资源站| 热99精品视频五月| 开心五月激情五月丁香五月婷婷| 亚洲AV日韩无码| 99精品国产乱码久久久人妻| xx久久| 婷婷丁香视频| 婷婷综合网| 9九九久久精品无码专区| 9福利性视频欧美| 狠狠久久婷五月综合色| 婷婷五月综合色拍| 9色资源在线| 国产成人+综合亚洲+天堂| 五月婷婷视频ab| 日本三级日本三级99| www.91五月| 超碰成人在线观看| 激情5月婷婷| 亚洲AV免费在线| 99热欧美精品| 天天干天天射综合网| 色情综合网| www.99久久久久99| 色丁香五月综合网| 开心激情站| 97狠狠色| 婷婷色五月开心五月| 九九婷婷五月天| 婷婷五月天综合激情| 九九这里有精品| 99国产精品久久久久久久久久久| 丁香五月激情六月欧亚激情综合导航| 综合婷婷五月天| 五月丁香六月片| .操區COm| 天天日天天爽| 中文字幕婷婷五月天| 国产精品美女| 婷婷色操| 日韩aaaaa| 亲子乱AV-区二区三区| 狠狠88综合久久久久噜噜噜| 99热只有这里有精品| 欧美天堂久久| 欧美熟女99| 日本久久人| 99热精品无码| 五月综合丁| 五月婷婷啪| 精品综合网在线| 欧美熟女乱又伦| 无码少妇高潮喷水A片免费| 在线播放成人网站| 激情五月丁香五月| 丁香五月综合高清在线| 热九九在线| 丁香激情网| 久久9热| 欧美va在线观看| 99热超| 婷婷丁香18| 一级性感毛片| 另类 在线| 任你擦免费视频| 超碰在线免费9| 99色在线观看视频| 亚洲精品国产setv| 色五月天影视| 欧洲色区| 日本色色视频| 五月天婷婷免费| 婷婷五月天激情小说| 97人人超| 蜜桃成语时李时珍 免费| 亚洲色五月天在线| 91国产精品视频播放| 五月天国产婷婷精品视频在线| 亚洲视频1区| 久9热视频| 婷婷色色五月| 亚洲精品国产A久久久久久| 日日躁夜夜躁狠狠久久AV| 亚洲人人干| 久久99激情五月天| 伊人久久大香线蕉av最新| 五夜婷婷| 逼特逼在线免费播放| 五月香六月婷| 亚洲黄色精品| 99精品成人无码A片观看金桔| 欧美视频在线观看噜噜| 国产精品国产| 色色热| 天天做天天爱天天玩夜夜爽| 久久视频婷婷视频| 婷婷丁香日韩五月| 97热这里精品在线视频| 丁香五月婷婷成人色区| 激情综合婷婷久久| 狠狠爱综合| 婷婷丁香色五月久久88| 婷婷五月天激情综合| 五月天婷婷久久| 婷婷五月美女直播| 99色在线| 99久久人人| 日本一级一级一级一级| 99热国产在线| 国产精产国品一二三在观看| 婷婷基地爱| 9久久精品| 亞洲自怕| 久久久人妻| 99色网站| 婷婷五月激情欧美大胆视频| 9|无码久久久久久| 影院久久久| 色啪网| 五月天婷婷综合| 丁香婷婷少妇| 亚洲超碰在线| 97操| 日B日潘金莲BB| 久热这里只有精品6| 激情五月开心五月丁香五月| 深爱开心五月天| 99在线精品视频| 岛国AAAV| 中国女人做爰A片| 亚洲黄色影视| 九九视屏| 精品五月花| 天天操天天插| 亚洲操操操| 国产成人高清| 狠狠搞狠狠操| 五月天停停基地| 天天弄天天爽| 婷婷伊人| 天天搡日日搡aaaaⅩ| 色色色色色色色色色色色色色五月天| 97丨九色丨国产丨PORNY| 久久只有18视频| 久婷久婷| 玖玖婷婷色五月| 综合久久人妻| 久色资源网| www.夜夜騎夜夜狠| 亚洲十月婷婷综合| 先锋资源996| 99热这里只有精品亚洲| 天天综合久久| 狠狠操之狠狠操| 丁香婷婷六月激情文学| 丁香五月婷婷色| 五月天伊人综合| 小色小蛇伊人婷婷色香五月| 婷婷久久五月天中文字幕在线观看| 欧美亚洲色色色色| www.91av.com| 伊人免费视频9| 五月激情四射网站| 九热网站| 大香伊人婷婷| 五月亭亭欧美女人| 久婷婷色| 狠狠色噜噜狠狠狠狠综合| 铁牛TV人妻| 久久草中文日韩欧美| 婷婷五月天综合久久| 91精品91久久久中77777久久玖玖九九| 激情亭亭五月| 夜夜 操无码| 伊人网欧美在线男人天堂五月丁香| 91欧美| 天天爽爽日日做做| 五月婷无码| m色激情网| 婷婷金品综合视频| 久久大香蕉同僚| 99色在线| 国产AV一区二区三区最新精品 | 日日噜噜久久婷婷五月天| 久久一级免费黄色片| 草草影院爱爱| 女性自慰系列第五页| 五月天激日本色情在线| 激情五月天小说视频| 啪啪六月婷婷| 日本三级日本三级99| 日韩人妻无码专区| 国产婷伊人| 99 福利 导航| 久操婷婷| 亚洲VA在线| 欧美成人va| 久久人妻视频| 婷婷婷久久| 亚洲AV综合在线观看| 亚洲精品乱码久久久久久综合| 亚洲综合婷婷五月| 2020日日干| 91欧美| 大香伊人婷婷| 午夜色色色极品视频| 丁香婷婷色六月| 91操熟女| 欧美天堂婷婷日韩| 91美女被操| 五月天成人在线| 大香蕉99热| 成人中文网| 中文色婷婷| 九九热区一区二区三区| 伊人狠狠丁香婷婷综合尤物| 极品人妻VIDEOSSS人妻| AV成人在线播放| 色五月丁香激情| 五月婷在线| 少妇水多A片太爽了| 99啪啪网| 九九色视频| 久久人妻精品| 99久久99视频| 色色色色色爱| 9久精品| 精品亚洲国产成AV人片传媒 | 婷婷激情小说| 夫妇交换刺激做爰| 婷婷综合激情| 99综合视频| 91男人操女人视频| 精品99这里有| 狼人婷婷久久| 国产激情在线| av首页在线| 色色色综合视频| 97热在线精品| 青草青草久9视频在线视频| 丁香五月色综合色播五月| 91AV婷婷| 激情久久 婷婷| 日韩色情亚洲五月天婷婷| 激情五月婷婷五月| 亚洲婷婷久久综合| AV操操操| 五月色亭丁香| 亚洲VA在线| 欧美成人精品A片免费一区99| 9久久久久久久久久久| 婷婷五月天视频亚洲| 天堂久久丁香| 五月丁香久久呀| 九九在线视频| 久久五月丁香伊人青草| 99这里只有精品|v| 97色久| www.婷婷.com| 亚洲成人在线综合| 久久久无码精品成人A片小说| 九九在线91| 色婷婷综合网站| 五月天丁香婷婷视频网址| www.91有码.com| 乱精品一区字幕二区| www.91.com处女在线直播| 色婷婷小说网| 五月激情四射婷婷丁香| 亚洲婷婷五月天| 99色激| 99ri精品| 好好日激情五月天| 国产精品成人AV在线观看春天| 激情综合网五月天天| 五月天激情网站| 开心婷婷五月天电影院| 中文成人在线| 成人色色视频| 免费播放AV| 五月天六月色| 国产ava| 777色色色| 另类五月婷婷| 4438亚洲欧美| 激情五月天无人视频在线| 色婷婷无吗| 激情开心五月天| 中文字幕婷婷| 在线理论片| 色丁香久综合在线久综合在线观看| 无码成人播放器| 天天久综合| 超碰在线9| 日韩无码专区| 五月婷色啪| 久xxxx| 六月婷婷开心| 色色色色色色色色色999| 日本色色影院| 人人爱操| 色色网站免费观看| 色色婷婷丁香五月天| 色中色综合| 五月丁香久久丝袜啪啪| 9视频1在线| 六月婷婷综合| 婷婷色五月色| 色人久久| 久久婷婷五月天大香蕉| 成人短视频在线免费观看| 狠狠五月激情在线| 久久久久久久久18久久| 亚韩在线视频| 天天操夜夜玩!| 久草五月天| 中文字幕人成乱码在线观看| 婷婷五月亚洲一本在线丁香| 91chinese在线| 美女婷婷激情亚洲| 丁香九月久久| 综合五月激情网| 婷婷中文在线| 国产91在线视频| 婷婷金品综合视频| 超碰熟女拍拍| 狠狠爱综合| 永久AⅤ1| 99免费视频在线观看爱| 千人斩操逼| 丁香色婷婷| 天天操天天操天天操| 在线视频九色97| 激情婷婷五月女| 99色色最新视频| 91丨九色丨熟女| 超碰在线免费观看日韩| 日本超碰在线| 狠狠干五月丁香综合网| 高清无码视频网址| 久久全色| 激情婷婷五月天伊人在线观看| z色五月播播久久| 婷婷成人基地| 超碰成人在线观看| 日日狠狠久久偷偷四色综合免费| 99性视频| 五月开心啪啪| 夜夜噜夜夜奇| 九九Av| 大香伊人婷婷影院| 激情伊人五月婷婷久久| xx久久| 丁香五月婷婷国产av| 噜噜噜噜噜久| 五月丁香六月激情| 婷婷天堂伊人| 凹凸7777操操操| 91人人网| 婷婷丁香五月天大香蕉| 欧美综合丁香网| 99re这里| 日韩精品一品二区三区的使用体验 | 九九人人操| 国产婷伊人| 五月色综合| 熟女激情网| 91碰超| 婷婷五月天社区| 色综合久久久久久久久五月| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 91操在线| 91九色超碰| 男女啪啪做爰高潮无遮挡| 五月婷婷天| 97人人操人人爽| 激情婷婷五月天| 婷婷五月丁香在线视频| 婷婷色5月激情网| 综合视频五月| 丰满人妻一区三区三区| 色婷婷欧美在线| 五月丁香成人日| 亚洲性天天| 五月六月丁香激情视频| av婷婷丁香 六月| 五月天激情综合在线| 99re99热| 人人干人人干骚美女| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 99热国产精品| 爱久综合| 久久只有精| 另类在线| 五月色无码| 天天爱天天做综合| 成人丁香婷婷五月天| 亚洲色 视频| 91wwmm导航| 天天玩夜夜操| 五月天偷拍| 538任你爽| 色色射| 可以看的av网站| 大学生高潮无套内谢视频| 丁香五月av| 久草婷婷在线| 色婷婷瘦婷婷日韩| 亚洲色图五月丁香| 综合欧美五月婷婷| 激情婷婷五月黑人| 日韩AV大全| 国产精品色| 99久久久免费| 韩国真做片在线观看| 9久热精品在线视频| 九九久久久综合| 久久婷婷五月综合色奶水99啪| WWW久久久| 爱草视频在线观看| 九九综合久久| 色五月色五天色情网| 色婷婷五月综合| 久99999热视频在线观看免费| 九九综合88| 99热e| 夜夜操夜夜姧| 99热这里只有精品在线| 成人国产综合| 51精品国自产在线| 激情九九九九| 色婷婷综合网| 婷婷五月天手机版视频| 天天爱天天做天天操| 狠狠操狠狠操AV| 香蕉久久国产AV一区二区| 色婷亚洲| 高清无码 一区 二区 三区| 丁香六月婷婷综合在线| 996热| 丁香六月丁香婷婷激情| 六月婷婷av| 丁香五月天啪啪激情综和网| www.久久爱.com| 91妻人人爽人人看片| 天堂网色色| 深爱网深爱综合网| 伊人www22综合色| 人妻丰满精品一区二区A片| 99丁香五月婷婷在线| 人人爽欧美婷婷久久久五月丁香| 婷婷久久五月| 玖玖五月| 色综合综合综合| 久久性爱视频| 色色色色色色色色网站| 五月婷婷综合视频| 欧美操逼天堂| 丁香婷婷五月天色播| 色五月婷婷色| 九月丁香八月婷婷久久综合久97| 五月婷婷丁香深深爱| 天天射影院| 99在线资源视频| 综合狠狠伊人| 99A级片| 中文字幕av网站| 天天做天天爱天天爽在| 婷婷色在线观看| 色欲色香综合网站| 久久成人精品视频| 久久小视频| 色婷久九| 色无码| 丁香青青五月天| 欧美黑人巨大猛烈cuckold| 激情六月综合| 久久免费丁香| 99爱视频在线| 中文字幕av网站| 亚洲小说五月婷婷| 婷婷六月久久综合导航| 久久99精品久久久久久噜噜| 淫荡综合网| 亚洲视频一区| 激情综合婷婷五月| 五月丁香婷婷色色| 婷婷人人操| 亚洲激情网| 日本欧特黄色刺激一区影视久精品无码| 日本噜噜色网| 欧洲色区| 婷婷五月天国产手机在线视频观看| 婷婷深爱五月丁香网| 国产精品18久久久| 丁香婷婷激情五月色| 在线婷婷| 99综合网| 色五月婷婷五月| 玖玖色综合网| 国产成人网址| 天天艹天天综合网| 新97人人上人人| www.91操| 狠狠色成人影片| 欧美日韩99| 99精品热| 另类激情五月天。| 99日韩| 婷婷五月天激情综合婷婷五月天激情综合 | 人人色性网| 五月天激情婷婷| 色。 日日日| 97色干在线观看| 内射激情在线| 五月婷婷性爱网| 六月丁香综合| 成人短视频在线免费观看| 色婷婷久久| 99久久久免费| 怡红院视频| 小视频aaa久久久| 国产古装妇女野外A片| 婷婷5月天av| 日本久久久97| 丁香五月在线观看综合| 日韩欧美性爱| 婷婷情色五月天| 网色99| 思思热在线视频精品| 天天影视色综合网| 激情国产五月| 中文字幕丰满人妻无码专区| 成人五月丁香社区| 五月婷婷六月天| A网在线欧洲| 伊人婷婷五月天av| 91操熟女| 五月激情婷婷六月丁香| 96色婷婷| 久久久ww| 五月天成人网婷婷| 停停综合色色| 色色操| 五月色俺婷婷| 丁香五月激情啪| 婷婷五月花| 国产午夜一区二区三区| 99色婷婷视频| 三级毛片视频| 色五月婷婷影院| 五月丁香婷婷五月色| 六月丁香婷婷爱| 久久久久9999| 99re最新地址| 六月丁香大香蕉| 裸睡玩奶头(高H)| 99在线亚洲| 丁香五月色色| 色亭亭九月| 依人大香蕉| 大香蕉院线| 91九色国产| 欧美偷偷操| 婷香五月| 99无码黄色视频| 色色色视频免费无码 | 婷婷AV丁香| 五月天大香蕉婷| 五月激情六月丁香| 99精品视频网| 久久五月天婷婷视频| 亚州激情九月| 丰满少妇猛烈A片免费看观看 | 九九成人精品免费视频| 欧美99| 丁香五月最新地址| www.六月丁香看AV| 日本人人草草| 丁香花社区av| 五月综合色| 爱久综合| 99爱无码| 婷婷五月天Av| 五月丁香婷婷色| 成人无码中文| 色五月av| 国产精品激情AV久久久青桔| 337久久| av在线观看网站| 亚洲激情无码久久| 深爱激情av| 久99在线视频| 天天操夜夜操| 五月丁香婷久久| 久久婷婷网站| 桃色激情婷婷伊人网| 丁香五月激情婷婷婷婷在线观看| 人人97碰| 久久无码成人| 久天综合| 久久er+| 激情深爱五月天| 激情小说五月天| av首页在线| 午夜婷婷| 五月天久久综合婷婷丁香| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷欧美激情| 激情婷婷人妻| 五月亭亭开心网| 另类专区在线| 丁香五月天天久久综合小说| 91色涩| 色婷婷色人人射| 丁香五月激情啪| 久久黄色片| 在线视频你懂得| 激情综合亚洲色婷婷五月| 丁香婷婷性爱| 亚洲久久天堂| 久久激情五月婷婷| 国产精品久久久60086| 午夜免费试看| 91主播在线| 天天综合网、天天综合色 | αV电影| 久鲁鲁色网| 欧美超级视频97| 亚洲精品又粗又大又爽A片| 激情图片婷婷| 狠色狠色综合久久| 99视频久久免费视频| 日日干日日| 91婷婷视频| 91人操| 婷婷五月天电影区小说区| 亚洲激情网| 久久婷婷色情7777网站| 五月婷婷激清网| 91碰碰碰| 九九热九九| 久久婷婷亚洲五月天| 激情五月天婷婷五月天| 99久久视频| www,av好吊操| 97干在线视频| 色婷婷狠狠18禁| 色综合天天| 亚洲成人精品三区| 婷婷五月综合欧美在线播放| 丁香六月婷婷综合激情欧美| 人妻五月天激情开心网| 婷婷丁香成人在线视频| 少妇激情五月天| 久9热视频在线观看| 天天干夜夜想| 婷婷97色| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 亚洲AV综合在线观看| 绿色小导航AV| 九九久久综合网站| 天天肏天天爽夜夜爽| 激情小说婷婷五月| 九月婷婷久久久| 超碰人人色| 青青久久91| 中文无码婷婷| 99综合色色色| 天天久久综合| 丁香婷婷激情六月五月开心| 丁香五月婷婷六月| 中文字幕无码人妻少妇免费视频 | 嫩草免费视频| 精品成人在线观看| 五月婷婷,六月激情| 26uuu精品一区二区| 级情九色| 五月天丁香久久综合| 天天日夜夜欢| 天天综合永久| 天天干天天干天天干| 色婷婷五月天| 婷婷色在线播放| www.狠狠操.com| www.五月丁香| 日产精品久久久久久久蜜臀| 五月婷av| 成人av在线电影| 这里只有精品9| 99精品在这里| 69精品无码一区二区三区| 色色五月丁香| 色色网五月激情| 操一区| 激情爱爱网站超大免费| 久久亚洲色导航| 欧美久久网| 久综合4| 欧美大奶熟女噜噜噜噜| 丁香六月激情国产| 99热99成人| chaopeng在线人人| 亚洲激情四射| 99久久网站| 天天日色情| 久热伊人| 欧洲色色| 久久男人网婷婷| 亚洲天堂AV免费片| 五月天开心网| 无码AV大香线蕉伊人| wuyuedingxiang99| 日韩啪| 五月婷婷综合在线亚洲视频| 99色婷婷| 99热99精品| 一级黄色操B| 欧美成人热| 人人干av| 一级精品999WWW| 日本五月天网站| 丁香五月婷婷社区| 激情五月伊人婷婷| 激情婷婷久久| 精品一二三区久久AAA片| 久久精品五月| 欧美综合五月丁香六月婷| 丁香五月婷综合网| 婷婷五月花| 99免费成人网| 日本在线视频www色| www99xxxx五月丁| 久久996re热这里只有精品无码| www久| 色私五月婷婷| 激情5月婷婷| 色综合99无码 | 丁香六月啪啪| 天天搡日日搡aaaaⅩ| 丁香五月六月综合激情| 久久久久视剧HD| 这里只有精品网| #NAME?| 大伊久久| 天天日色情| 亚洲A色| 超碰99成人在线| 操射国产日本| 小香蕉av| 久久这里只有欧美| 国产av第一专区| 99色色色色| 超碰一区二区| 婷婷五月天开心激情网| 激情五月天第四色| 婷婷婷久久久| 天天久久狠狠色综合| 超碰超碰在线|