System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及計算機程序和系統領域,更具體地,涉及一種用于在3d場景中的一個或多個點上映射紋理的方法、系統和程序。
技術介紹
1、在市場上提供了若干用于對象的設計、工程和制造的系統及程序。cad(computer-aided?design)是計算機輔助設計的首字母縮寫,例如,其涉及用于設計對象的軟件解決方案。cae(computer-aided?engineering)是計算機輔助工程的首字母縮寫,例如,其涉及用于模擬未來產品的物理行為的軟件解決方案。cam(computer-aided?manufacturing)是計算機輔助制造的首字母縮寫,例如,其涉及用于定義制造過程和操作的軟件解決方案。在這樣的計算機輔助設計系統中,圖形用戶界面在技術效率方面起重要作用。這些技術可以嵌入在產品生命周期管理(product?lifecycle?management,plm)系統內。plm是指在跨擴展企業的概念下的商業策略,其從產品概念到產品生命周期結束,幫助公司共享產品數據、應用通用流程、并采用公司知識來開發該產品。由dassault?systèmes提供的plm解決方案(采用catia、enovia和delmia等商標)提供了整合產品工程知識的工程中心(engineeringhub)、管理制造工程知識的制造中心(manufacturing?hub)、以及使企業集成并連接到工程和制造中心兩者中的企業中心(enterprise?hub)。這些系統共同遞送鏈接了產品、過程、資源的開放對象模型,以實現動態的、基于知識的產品創建和決策支持,其推動了產品
2、許多
都采用3d繪圖;例如圖形創建、cad或產品設計。在這些
中,目標之一是在虛擬3d空間中向用戶提供最接近經典2d草繪的體驗(例如,在紙張上使用筆)。為此,功能之一是允許用戶紋理化3d場景,即,將紋理添加到3d場景(或3d空間)。為此,現有解決方案通常包括確定由用戶繪制的3d曲線以及將該確定的3d曲線添加到3d場景。然而,用于3d繪圖的這些現有解決方案是不夠的。
3、尤其是3d場景中的3d曲線的渲染質量比2d繪圖的質量差,并且存在缺陷。值得注意的是,兩個及以上3d曲線的疊加與2d繪圖中不同,尤其是當3d曲線具有低于100%的不透明度時。技術上,用于曲線渲染的順序取決于所使用的可視化引擎或者甚至取決于顯卡的優化。在現有解決方案中,渲染的順序非常影響結果。因此,不能確保重疊3d形狀渲染結果的質量。
4、現在參考圖1和圖2示出渲染缺陷的第一示例,其示出了分別使用3d繪圖解決方案和2d繪圖解決方案獲得的渲染。
5、圖1和圖2示出了由用戶繪制的四條3d曲線101、102、103a和103b的渲染。首先繪制曲線102,然后繪制曲線101以及曲線103a和103b。因此,曲線101與曲線102相交,并且曲線103a和103b分別在104和105處與曲線101相交。曲線101和102具有40%的不透明度,而曲線103a和103b具有100%的不透明度。圖1示出了使用3d繪圖解決方案在相交點104和105處存在渲染問題。實際上,重疊區域104中的渲染不同于重疊區域105中的渲染,而這兩個相交點的渲染本應是相同的。該問題發生是因為在重疊區域104中,曲線101渲染在曲線103a上方,而在重疊區域105中,曲線101渲染在曲線103b下方。因此,由于曲線101具有40%的不透明度,因此曲線103a在重疊區域104中在曲線101下方可見,而在重疊區域105中,由于曲線103b具有100%的不透明度,因此曲線101在曲線103b下方不可見。
6、因此,3d場景中的渲染是不足的,因為其取決于渲染不同曲線的順序。有趣的是,該問題不會在2d繪圖解決方案中發生:實際上,在2d繪圖解決方案中,所有曲線都被渲染在同一平面上。圖2示出了類似曲線(對應于曲線101、102、103a、103b、104、105的曲線101’、102’、103a’、103b’、104’、105’)的渲染,但是使用2d繪圖解決方案。在2d繪圖中,區域104’和區域105’之間的相交區域是相同的。使用如圖1所示的3d繪圖解決方案的渲染應當與2d繪圖解決方案相同,而實際情況并非如此。這是現有3d繪圖解決方案的渲染質量缺陷的第一示例。
7、3d場景中的渲染缺陷的另一示例涉及色彩混合。現在參考圖3和圖4討論該渲染缺陷。
8、圖3示出了使用現有3d繪圖解決方案渲染的兩條重疊曲線106和107:使用圖形工具(例如,在作為計算機觸覺設備的平板電腦上操作的觸筆、或觸摸屏上的附件)往返繪制來創建曲線106,從而獲得畫布上的著色區域,并且進行類似的動作來獲得曲線106上的曲線107。圖3上的結果示出,在重疊區域中,渲染不均勻并且視差可見。因此,該重疊不符合物理學。特別地,在區域108中,第二曲線107的紋理是主要的,而在區域108’中,第一曲線106的紋理是主要的。這是因為曲線107與自身重疊,使得第二曲線107的紋理在區域108’中越來越不透明。然而,如圖4所示,在相交區域處的渲染應當是均勻的,圖4示出了在2d繪圖解決方案中通過類似的兩條重疊曲線(即,107’在106’之上創建,類似107與106)獲得的結果,其中重疊結果取決于筆刷和物理特性。在已知的3d繪圖解決方案中,不能控制顏色和曲線的混合方式。這說明了現有3d繪圖解決方案的渲染質量缺陷的另一實例。
9、此外,已知的3d繪圖解決方案可以基于包括三角形網格的3d色帶(每條曲線一個色帶)。然而,通過每條曲線使用一個3d色帶不是最佳的著色方式。實際上,這意味著用于著色的三角形的數量是巨大的。圖6展示了用于渲染圖5中所示紋理109的大量三角形110的實例。三角形的數量影響應用的性能(例如,幀速率):實際上,渲染考慮了每個三角形,并且執行渲染所需的計算能力是所需考慮的三角形數量的函數。此外,每個三角形存儲在存儲器中,因此三角形的數量也影響所使用的存儲器大小。因此,在現有3d繪圖解決方案中,渲染需要過度使用計算資源和存儲器容量,于是形成了局限性。
10、在這種情況下,仍然需要改進的解決方案來渲染包括重疊紋理的3d場景。
技術實現思路
1、因此,提供了一種用于在3d場景中的一個或多個點上映射紋理的計算機實現方法。該3d場景中的一個或多個點是從輸入設備的用戶輸入中獲取的。該方法包括:根據利用輸入設備執行的用戶輸入來確定3d場景中待紋理化的一個或多個點。該方法包括:計算包括所確定的待紋理化的一個或多個點的3d支持件。該方法包括:基于所確定的一個或多個點來計算紋理。該方法包括:在計算的3d支持件上渲染計算的紋理。
2、該方法可以包括以下一者或多者:
3、-該方法還可以包括對待紋理化的一個或多個點進行參數化;
4、-計算紋理可以包括基于參數化的一個或多個點來計算紋理;
5、-3d場景可以包括3d建模對象。3d支持件的計算可以包括本文檔來自技高網...
【技術保護點】
1.一種用于在三維3D場景中的一個或多個點上映射紋理的計算機實現方法,所述3D場景中的一個或多個點是通過輸入設備的用戶輸入獲得的,所述方法包括:
2.根據權利要求1所述的方法,所述方法還包括:
3.根據權利要求1或2的方法,其中,所述3D場景包括3D建模對象(330),S20計算所述3D支持件包括:
4.根據權利要求3所述的方法,其中,在所述3D建模對象(330)上放置全部所述一個或多個點包括:將全部所述一個或多個點投影在所述3D建模對象(330)的表面上。
5.根據權利要求3或4的方法,其中,所確定的所述3D建模對象(330)的一部分是單個表面,所述單個表面包括放置在所述3D建模對象(330)上的全部所述一個或多個點。
6.根據權利要求5所述的方法,其中,所述3D建模對象(330)用多邊形進行曲面細分,確定所述3D建模對象(330)的一部分用作所述3D支持件(331)包括:
7.根據權利要求5所述的方法,其中,所述方法還包括:
8.根據權利要求7所述的方法,其中,計算所述新曲面細分包括:以與所述
9.根據權利要求1所述的方法,其中,所述一個或多個點是共面的,S20計算所述3D支持件(341)包括:確定包括全部所述一個或多個點的矩形表面,確定的所述矩形表面包括兩個三角形。
10.根據權利要求1-9中任一項所述的方法,所述方法還包括:
11.根據權利要求1-10中任一項所述的方法,所述方法還包括:
12.根據權利要求11所述的方法,其中,所述方法還包括:
13.一種計算機程序,包括指令,所述指令被計算機執行時,使得計算機執行根據權利要求1-12中任一項所述的方法。
14.一種計算機可讀存儲介質,其上記錄有根據權利要求13所述的計算機程序。
15.一種系統,包括耦合到存儲器的處理器,所述存儲器上記錄有根據權利要求13所述的計算機程序。
...【技術特征摘要】
1.一種用于在三維3d場景中的一個或多個點上映射紋理的計算機實現方法,所述3d場景中的一個或多個點是通過輸入設備的用戶輸入獲得的,所述方法包括:
2.根據權利要求1所述的方法,所述方法還包括:
3.根據權利要求1或2的方法,其中,所述3d場景包括3d建模對象(330),s20計算所述3d支持件包括:
4.根據權利要求3所述的方法,其中,在所述3d建模對象(330)上放置全部所述一個或多個點包括:將全部所述一個或多個點投影在所述3d建模對象(330)的表面上。
5.根據權利要求3或4的方法,其中,所確定的所述3d建模對象(330)的一部分是單個表面,所述單個表面包括放置在所述3d建模對象(330)上的全部所述一個或多個點。
6.根據權利要求5所述的方法,其中,所述3d建模對象(330)用多邊形進行曲面細分,確定所述3d建模對象(330)的一部分用作所述3d支持件(331)包括:
7.根據權利要求5所述的方法,其中,所述方法還包括:
8.根據...
【專利技術屬性】
技術研發人員:L·佩蒂厄,Y·薩杜迪,F·萊策爾特,
申請(專利權)人:達索系統公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。