使用紋理(Texture)RGB資料來"干擾"法線(Normalize)的資料,強化材質表面質感
演算法舉例: vec3 tnv = normalize(nv + rgb - 0.5);
一般材質表面在渲染中的粗糙凹凸表現由法線控制,用上述演算法使法線通過將rgb值(0.0~1.0)轉換為rgb(-0.5~0.5), 這個結果就可以模擬法線所在的位置疊加了凹凸變化。也因此反射的光強發生了響應的強弱變化。這個方法可以擴充套件使用,引數和演算法可以自己在調整。有些地方這個方案直接可以省去法線貼圖。
下面有對比圖
正常情況, 注意觀察圓環表面高光,比較平滑均勻但是有些假(或者說反應的是這一類材料的表面):
使用了RGB資料"干擾"之後, 注意觀察圓環表面高光的變化, 和紋理的明暗更匹配效果更真實了(或者說更像生鏽的刷漆的金屬表面):
這張圖質感更強。
不同的紋理,因為rgb的資料不一樣效果也會不一樣,有些凹凸感會很強烈。
相關推薦
使用紋理(Texture)RGB資料來"干擾"法線(Normalize)的資料,強化材質表面質感
演算法舉例: vec3 tnv = normalize(nv + rgb - 0.5); 一般材質表面在渲染中的粗糙凹凸表現由法線控制,用上述演算法使法線通過將rgb值(0.0~1.0)轉換為rgb(-0.5~0.5), 這個結果就可以模擬法線所在的位置疊加了凹凸變化。也因此反射的光強發生了響應
(6個name="hobby"的復選項,兩個按鈕)來區分三種方法的不同---區別getElementByID,getElementsByName,getElem
-- cnblogs checkbox javascrip int ava mage clear img <form> 請選擇你愛好:<br> <input type="checkbox" name="hob
資料倉庫入倉問題:mysql獲取資料存在"UTF8": 0x00問題的轉換
1、 invalid byte sequence for encoding “UTF8”: 0x00 要使用如下方案轉換欄位 replace(ifnull(first_name,null),char(‘0x00’),null) as first_name, 2、寫入到csv時,無法寫入完全的
☆ C++ 浮點型資料使用 "cout" 輸出
最近在使用printf()輸出浮點數的時候,突然想到可不可以使用cout輸出呢? 於是果斷的去嘗試了一下: bang~ 後面的0都不見了? 你像printf()可以直接控制" .n%f " 來決定小數點後的位數,但是cout呢?? 當然有辦法解決這個問題: ******
如何使用python來模擬滑鼠點選(將通過例項自動化模擬在360瀏覽器中自動搜尋"python")
一、準備工作: 安裝pywin32,後面開發需要pywin32的支援,否則無法完成與windows層面相關的操作。 pywin32的具體安裝及注意事項: 1、整體開發環境: 基於windows7作業系統; 提前安裝python(因為篇幅問題,在此不詳細講解python
資料視覺化之"Research on visualization techniques in data mining"
Research on visualization techniques in data mining Jin, Hailiang (Key Laboratory of Mine Spatial Information Technologies of State Bureau of Surveying an
資料視覺化之"A survey of visualization-driven interactive data mining approaches"
A survey of visualization-driven interactive data mining approaches Ma, Yuxin (State Key Laboratory of CAD&CG, Zhejiang University, Hangzhou; 310058,
資料視覺化之"Surveying the complementary role of automatic data analysis and visualization in knowledge discovery"
Surveying the complementary role of automatic data analysis and visualization in knowledge discovery Enrico Bertini; Denis Lalanne; VAKD '09 Proceedings o
請實現一個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。
題目描述 請實現一個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 /* 思路:需要滿足一下規則(正則表
請實現一個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1E-16"都表示數值。 但是"12e",&quo
package com.java.jie; public class test2 { public static void main(String [] args) { } public boolean isNumeric(char[] str) {
為什麼我拒絕了這份"夢寐以求"的資料科學家工作?
作者: Admond Lee 編譯: Mika 本文為 CDA 資料分析師原創作品,轉載需授權 在深入探討這個問題前,讓我們退後一步,嘗試回答另一個問題:為什麼要成為資料科學家? 你一定知道這個職業,資料科學家被《哈佛商業評論》稱為是“21世紀最性感的工作”,並且在Glassd
表單一鍵提取資料 $("form").serializeObject()
JSON.stringify( $('#form1').serializeObject() ) <table class="table fcb_table"> <th>日期</th> <th colspan="2">
var formData = new FormData($("#formUpload")[0]);新增資料,以及為什麼是新增[0]
因為new FormData需要的是一個HtmlElement型別的資料,而jquery拿到的是HtmlElement集合,所以哪怕只有一個元素,也要用[0]取其第一個元素。 jQuery是一個偽陣列物件,本身是物件,能表現出來陣列的特點: 有length屬性,能夠用下標取值;
解決:rm: 無法刪除"tomcat": 裝置或資源忙,linux下資料夾不能刪除
解決:rm: 無法刪除"tomcat": 裝置或資源忙 <!-- 作者區域 --> <div class="author"> <a class="avatar" href="/u/0040655e757b">
Redis資料"丟失"討論及規避和解決的幾點總結【轉】
轉自 https://blog.csdn.net/shangyuanlang/article/details/81297970 Redis大部分應用場景是純快取服務,請求後端有Primary Storage的元件,如MySQL,HBase;請求Redis的鍵未命中,會從primary Sto
通過"棧"-將2進位制數轉為10進位制數(資料結構)
通過-棧-將2進位制數轉為10進位制數(資料結構) 通過-棧-將2進位制數轉為10進位制數(資料結構) 原理 程式碼 執行結果 原理
程序無法向表“"dbo"."XXX"”進行大容量複製,元資料查詢失敗,對於造型說明無效的字元值
程序無法向表“"dbo"."XXX"”進行大容量複製。 (源: MSSQL_REPL,錯誤號: MSSQL_REPL20037) 獲取幫助: http://help/MSSQL_REPL20037 元資料查詢失敗 對於造型說明無效的字元值 (源: MSSQLServer,錯
Windows 系統光碟燒錄教程-光碟怎樣燒錄?燒錄資料光碟用"軌道一次寫入"還是"光碟一次寫入"?
燒錄光碟需要 DVD-RW 的光碟機,並且光碟需要 DVD-R 的光碟用於燒錄。燒錄工具可以使用 https://cn.ultraiso.net/ 來進行燒錄。選擇軟體目錄 中 工具 ,選擇 燒錄光碟映像 即可進行配置: 此時涉及到了光碟寫入的方式的選擇問題,在網上簡單查
5.開啟示例資料夾(Application.OpenURL("file://" + Application.dataPath);)
如果打不開資料夾,可能原因是有中文路徑。改為英文路徑就好了 #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace QFramework { public class OpenFold
五十道程式設計小題目 --- 50 有五個學生,每個學生有3門課的成績,計算出平均成績,況原有的資料和計算出的平均分數存放在磁碟檔案"stud"中java
【程式50】 題目:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上資料(包括學生號,姓名,三門課成績),計算出平均成績,況原有的資料和計算出的平均分數存放在磁碟檔案"stud"中。 import java.io.BufferedReader; import ja