張智惟

手機: 0910039909

信箱: [email protected]

  • 熟悉使用OpenGL的開發電腦圖學、視覺相關應用。

  • 熟悉Unity、Blender的操作與開發。

  • 有AR、Visualization、模擬器等相關應用開發經驗。

  • 擅長與不同領域的團隊溝通,也有完整課程教學的經驗。

  • 樂於學習新知與技能應用在現有專案,並撰寫與分享相關筆記。

    

 

AR工程師 • 富智捷股份有限公司 

  • 獨立開發基於OpenGL ES 2.0的算繪引擎
  • 主要開發基於Unity的專案,顯示AR物件於抬頭顯示器(HUD)與車用資訊系統(IVI)
  • 出差至底特律與Satlantis與Envisics合作,初步完成AR-HUD系統的串接
  • 與印度、中國team合作,將HUD顯示畫面變形,抵銷HUD透過擋風玻璃造成的變形

  • 與UI team合作,依據2D畫面之視覺需求設計3D動畫

Jul 2023 - Present


 

軟體開發實習生  •  晟暘科技有限公司 

  • 加速複雜模型的減面、合成,利用GPU算繪技術數秒內對模型採樣。
  • 改寫Blender算繪引擎。
  • 撰寫Python腳本將重建場景資訊輸入出Blender以及自動測試

Sep 2020 - Sep 2022


國立臺灣科技大學 資訊工程碩士

  • GPA: 4.13/4.3

Sep 2019 - Sep 2022

國立臺灣海洋大學 資訊工程學士

  • GPA: 4.0/4.0
  • Rank: 2/101

Sep 2015 - Jun 2019

專案


擴增實境導航

基於AI偵測與導航資訊,透過HUD與IVI顯示3D路徑與相關資訊,為駕駛提供更加精確、直觀、交互式的導航體驗。

  • Rendering Engine獨立開發C/C++, OpenGL ES 2.0
  • 運作在8295平台上之QNX,最終由Maserati上的HUD顯示內容
  • 使用OpenGL Cache的機制加速,取代舊有基於OpenCV之方法,增進超過10倍之效能
  • 影片

  Jul 2023

模擬AR-HUD於虛擬場景之系統

將虛擬導航資訊透過擴增實境抬頭顯示器(AR-HUD)顯示,將虛擬模型與現實物體對齊,使駕駛感受其與現實世界有關,以產生擴增實境的感受。

  • Unity專案的主要開發: C#, ShaderLab
  • 應用MVPEvent-Driven解耦合,增進系統之彈性以應用至不同的專案
  • 應用Test-Driven Development,利用超過百個單元測試維護、快速開發
  • 轉換CV的內外參數至Unity、GL的相機
  • 計算Homagraphy Matrix變換虛擬平面座標
  • 影片

Dec 2023 - Apr 2024

GPU-based Dynamic Prewarping

利用Shader將HUD顯示之畫面變形,抵銷HUD透過擋風玻璃造成的變形

  • Unity元件的獨立開發: C#, ShaderLab
  • 將Warping Table轉換為Displacement Map,執行時用multi-pass rendering變形畫面
  • 利用JenkinsSonarQube維護專案

Aug 2023 - Jan 2024

外觀驅動的茂密樹冠合成

碩士論文

  • 利用實例化以及延遲算繪技術, 即時算繪樹冠中數十萬面的樹葉實例。 
  • 利用 Compute Shader實作,數分鐘就可以依據輸入的樹冠照片最佳化樹葉實例的分布以及合成樹葉實例的紋理。 
  • 編碼大量幾何資訊與紋理減少算繪時使用的記憶體, 相對於傳統重建使用數百MB的樹冠模型, 減少為1MB左右。
  • 影片

Jul 2020 - Sep 2022


遠端控制水下無人載具模擬器

大學專題

  • 算繪引擎:即時將 Perlin Noise生成的大範圍場景算繪至畫面。
  • 物理引擎:考慮 流體靜力學與流體動力學,模擬水下的 複雜運動 。 
  • 人工智慧引擎 :實作 PID控制器控制複雜的流體與螺槳運動的交互影響,讓使用者可以利用搖桿做出高階指令
  • 影片

Jul 2019 - Dec 2019

程式語言


  • C/C++、C#、GLSL、ShaderLab 
  • Python
  • Cmake
  • JavaScript、HTML5、CSS

API


  • OpenGL、FLTK
  • OpenCV
  • WebGL2.0
  • Pytorch3D

軟體


  • Blender、Unity
  • Google Colab 
  • AutoCAD、SolidWorks
  • Procreate、Live2D

榮譽


  • 107年專題競賽 第二名
  • 第一屆創新暨創業競賽 特等獎
  • 104-108年 海洋書卷獎

論文


  • An Underwater Vehicle Simulator, CACS 2019
  • Real-time Appearance-Driven Memory-Efficient Dense Foliage Synthesis ,IEEE TCSVT (Submitting)

課程專案以及作品


Rendering

  • 光線追蹤:實作Distributed Ray Tracing,利用分散式隨機超採樣實現反走樣、焦散、反射與折射,以此離線算繪隱式與顯式的模型,並且利用Bounding Volume Hierarchies作為追蹤過程的加速結構。
  • 基於圖片的光照參考Unreal、Blender的Shader,輸入環境立方體貼圖,預先計算Iradiance Map、Pre-filtered Map與BRDF integration map,以此依據物體的材質貼圖即時算繪物體與環境的漫反射以及鏡面反射。
  • 即時全局光照:實作Instant Radiosity,在場景中光源直接照射的區域散布大量的Virtual Point Lights來近似間接反射,另外實作Screen Space Ambient Occlusion,利用深度緩衝計算區域的遮蔽率以近似環境光遮蔽。
  • 輪廓與結構線:藉由法向量表現物體輪廓以及結構線,同時實作Suggestive Contour ,參考Screen Space Curvature Shader,依據法向量緩衝計算物體表面的曲率,其中曲率為零且曲率變化為正則為暗示性結構線。
  • 可微分的算繪:修改Differentiable Surface Splatting的Input以及Loss Function,藉由強化輪廓以及結構線的重要性來重建以Surfel為基礎的樹冠模型。另外,透過Neural Radiance Field重建樹冠在任意視角的輻射度。影片
  • 圖像模擬:在Fragment Shader實作Image Analogy,藉由給定參考的法向量圖片與對應的紋理,以此給定任意的法向量來模擬、合成紋理。影片

Animation and Simulation

  • 動作編輯:輸入動作的骨架和動畫,藉由擬合動作的路徑成Bspline實作Motion Path Editing,另外實作Registration Curves內插、混合兩個不同的動作。影片
  • 布料模擬實作Particle System,布料表面分布多個離散粒子,同時鄰近粒子間藉由彈簧相連,以此模擬連續的布料受到不同力的動畫。 影片
  • 實體模擬:實作Solid Simulation with Oriented Particles,藉由粒子間給定的相對關係加上給定的限制迭代找到最小誤差的transformation,以此只考慮空間關係的模擬實體受到不同力的動畫。影片
  • 水波模擬以及算繪參考WebGL Water,根據使用者的互動模擬水面的起伏,同時算繪水面以及水中的反射、折射以及焦散(Caustics)。影片

Visualization

  • 等值曲面:將輸入的三維立體資料依據給定的閾值利用Marching cubeMarching tetrahedral切分出可能的等值曲面。 影片
  • 立體渲染:利Ray-casting累積光線路徑上的反射或是將立體資料切分為數個紋理Billboard利用混合的方式表示。影片
  • 流場視覺化:在空間中平均分布雜訊,並在給定的流場流動,畫出其軌跡作為流線。影片
  • 高維資料視覺化:實作Sammon Mapping表示高維資料的相對距離,利用Self-Organizing Map將高維資料分群。

擴增實境: 虛擬燈光控制

  • 利用WiFi將手機鏡頭所拍攝的畫面傳輸至電腦。
  • 利用OpenCV偵測標記建構坐標系,以此產生轉換矩陣
  • 依據不同的標記放置不同的模型或是燈光,以此建構以及算繪場景並且融合拍攝畫面
  • 影片 

Digital Mesh

  • 網格簡化:計算網格中每個邊的Quadric Error,依據Error的大小做為該邊在簡化時的優先順序。影片
  • 骨架抽取:實作Skeleton Extraction by Mesh Contraction,輸入定義良好的網格,藉由給定的幾何收縮規則迭代得到骨架。影片
  • 網格變形:實作As-Rigid-As-Possible Shape Manipulation,將網格利用數個控制點來變形,透過最小化所有三角面的變形程度來實現網格變形。影片

Vision and Visual effects

  • 高動態範圍成像:拍攝數張不同曝光的照片,實作Median Threshold Bitmap將每張照片對齊,重建Radian Map,最後依據Tone Mapping表示HDR照片。
  • 影像拼接:在固定位置和不同視角拍攝照片,計算不同照片的焦距、特徵點,進一步利用RANSAC拼接成全景照片。
  • 定格動畫:利用綠幕定格拍攝人偶,進一步去背以及增加特效。影片

個人網站

  • 透過JavaScript, CSS實現一頁式網頁,其包含滾動時的視覺效果和動畫,支援RWD。
  • 使用WebGL算繪虛擬畫廊,將作品放入虛擬場景中。

網站連結

數位繪圖

  • 擅長使用Clip studio Paint、Procreate繪圖
  • Live2D
  • Krenz 透視、色彩、構成課程
  • 參與多本刊物的製作
  • 小說《橫越世界的門》

    獨立人物設計、繪製

  • 影片

  • 影片