SlideShare a Scribd company logo
1 of 20
Download to read offline
How to MantraHow to Mantra
:Rendering & Shading:Rendering & Shading
:IFD file:IFD file
:Shader development:Shader development
//Mantra Render//Mantra Render
CPU Renderer... Shader Language(VEX Shading Language)CPU Renderer... Shader Language(VEX Shading Language)
Rendering Engine…Rendering Engine…
MicroPolygon RenderingMicroPolygon Rendering
Raytrace RenderingRaytrace Rendering
Physically-Based RenderingPhysically-Based Rendering
どのレンダリングエンジンでもどのレンダリングエンジンでもVEXVEXで記述で記述........
Mantra Rendering FlowMantra Rendering Flow
1:Tile …1:Tile … 22DD画像上の画像上のRenderRender領域の指定領域の指定
2:Geometry Import … Render Geometry2:Geometry Import … Render Geometryを読み込むを読み込む(ifd(ifdに順ずるに順ずる))
~Edit Render Geometry~… Subdiv,Pscale,Width~Edit Render Geometry~… Subdiv,Pscale,Width
3:Displacement3:Displacement
4:Calculate Opacity4:Calculate Opacity
OfOfが指定されていれば計算される。… 通常は無視。が指定されていれば計算される。… 通常は無視。
5:Rendering5:Rendering
Shop Context& Mat ContextShop Context& Mat Context
shadershader情報を評価する情報を評価するContextContext
Mat context,Shop ContextMat context,Shop Contextによる結果の違いはない…による結果の違いはない…
Artist likeArtist like ななGUIGUIでより扱いやすく設計されているでより扱いやすく設計されている(Mat)(Mat)。。
MatMatではではshadershader同士の同士のCombineCombineが容易である。が容易である。
MicroPolygon RenderingMicroPolygon Rendering
:REYES (:REYES (いわゆるバケットいわゆるバケットRendering) …Rendering) …
  微小面積に細かく分割してその 領域内を  微小面積に細かく分割してその 領域内をRenderingRendering。。
情報をその領域のみ保持するので、情報をその領域のみ保持するので、memorymemoryコストは低い。コストは低い。
Mantra RenderMantra Renderでは…では…
renderrender時に時にmicroPolygonmicroPolygonに変換する。に変換する。
  point vertexpoint vertex毎に毎にShaderShader情報を評価する。情報を評価する。
Raytarce RenderingRaytarce Rendering
rayrayを飛ばしてを飛ばしてpixelpixel毎に毎にshadershaderを評価する。を評価する。
Miclo Polygon RenderingMiclo Polygon Renderingと違いと違いgeometrygeometryととrayrayの交点をの交点をsamplingsamplingする。する。
Physically-based RenderingPhysically-based Rendering
:Ray trace:Ray traceと同様のと同様のSamplingSamplingを実行。を実行。
ShaderShaderのプロセスが従来ののプロセスが従来のRay traceRay traceと違う。と違う。
~ BSDF~ BSDF関数を用いて、関数を用いて、ShaderShaderを評価を評価 ~~
MicroPolygon / Raytrace RenderingMicroPolygon / Raytrace Rendering
:VSL:VSLを評価する…を評価する…
Cf = Surface ColorCf = Surface Color
Of = Surface OpacityOf = Surface Opacity
Af = Surface AlphaAf = Surface Alpha
N = Surface NormalN = Surface Normal
定められた変数に代入する事で定められた変数に代入する事で,VSL,VSLははRenderRender時に時にShaderShaderを評価する。を評価する。
~~最終出力は、最終出力は、Shader LanguageShader Languageによって違うによって違う~~
MicroPolygon / Raytrace RenderingMicroPolygon / Raytrace Rendering
:Context:Contextごとにもあらかじめ定められている変数がある。ごとにもあらかじめ定められている変数がある。
各各ContextContext固有の変数がある。固有の変数がある。
Displacement ContextDisplacement Context
Surface ContextSurface Context
Light ContextLight Context
Color = Surface ContextColor = Surface Context
Displacement = Displacement ContextDisplacement = Displacement Context
Light = Light ContextLight = Light Context
それぞれ、生成される結果は違ってくる。それぞれ、生成される結果は違ってくる。
ContextContext間で情報の受け渡しが出来る。間で情報の受け渡しが出来る。
Physically-Based RenderingPhysically-Based Rendering
:VSL:VSLを評価する…を評価する…
BSDFBSDF関数を用いて、色情報を計算する。関数を用いて、色情報を計算する。
~BSDF =~BSDF = 入射角と反射角を受け取り、光が入射角と反射角を受け取り、光が""跳ね返る跳ね返る""時の反射光の大きさ時の反射光の大きさ~~
F = BSDFF = BSDF
Of = Surface OpacityOf = Surface Opacity
Af = Surface AlphaAf = Surface Alpha
光の振る舞いを関数で管理する。光の振る舞いを関数で管理する。
Physically-Based RenderingPhysically-Based Rendering
Surface ContextSurface ContextののVSLVSLの記述が変更される。の記述が変更される。
DisplacementDisplacement等その他の等その他のContextContextは同じ評価。は同じ評価。
Micro Polygon / Ray traceRenderMicro Polygon / Ray traceRender
:Cf = SurfaceColor;:Cf = SurfaceColor;
Physically-Based RenderingPhysically-Based Rendering
:F =BSDF*Color ;:F =BSDF*Color ;
結局どういうこと?結局どういうこと?
RenderingRenderingするにあたって…するにあたって…
Shader(Material)Shader(Material)を評価するという事はを評価するという事は......どのどのRendering EngineRendering Engineでも一緒。でも一緒。
各各Rendering EngineRendering Engineで違う点で違う点....
:VSL:VSLの評価の方法が変わってくるの評価の方法が変わってくる
:VSL:VSLの記述も少し変わってくる。の記述も少し変わってくる。
Physically-Based RenderingPhysically-Based Rendering
Micro Polygon Rendering / Raytrace RenderingMicro Polygon Rendering / Raytrace Rendering
二種類の二種類のVSLVSLの記述に分けて考える事が出来る。の記述に分けて考える事が出来る。
//PBR Shader//PBR Shader
Surface Color = FSurface Color = F
F = BSDF*Color();F = BSDF*Color();
//MicroPolygon / Raytrace Shader//MicroPolygon / Raytrace Shader
Surface Color = Cf;Surface Color = Cf;
Cf = Color();Cf = Color();
従来の従来のShaderShader記述は記述は......
光の振る舞いを記述するコストがある。光の振る舞いを記述するコストがある。
おさらいおさらい........
Rendering process...Rendering process...
1:tile1:tile
2:Geometry Import2:Geometry Import
3:Displacement3:Displacement
4:4:CalculateCalculate OpacityOpacity
5: Rendering5: Rendering
Rendering EngineRendering Engine
:Micro Polygon Rendering:Micro Polygon Rendering
:Raytrace Rendering:Raytrace Rendering
:Phisically-Based Rendering:Phisically-Based Rendering
~Rendering Engine~Rendering Engineで変わる部分で変わる部分~~
:Shader:Shader記述、評価が違う。記述、評価が違う。
Mantra ifd fileMantra ifd file
ifdifdははHoudiniHoudiniで生成されるで生成されるSceneSceneを記述したを記述したfile format.file format.
~.ifd~.ifdにはにはscenescene内の最終計算結果及び内の最終計算結果及びRender tuningRender tuningの情報を保存するの情報を保存する~~
Hip fileHip fileからからIFDIFDを生成するには…を生成するには…
Houdini FX or Houdini EngineHoudini FX or Houdini Engineのライセンスが必要。のライセンスが必要。
それ以外はそれ以外は......
Back groundBack groundで生成される。で生成される。
ifdifd生成生成~Rendering~Renderingの流れになる。の流れになる。
いわゆる中間ファイルである。いわゆる中間ファイルである。
Structure ifdStructure ifd(ifd(ifdの中身)の中身)
:: Header(Header(ヘッダー情報ヘッダー情報)…)… 共通設定共通設定(Day,Filename,Path...),(Day,Filename,Path...),コメントコメント
: Geometry(Render Object Definition)...Render: Geometry(Render Object Definition)...Renderされるされるgeometrygeometry情報。情報。
: Render Setting(: Render Setting(レンダリング設定レンダリング設定)… scene)… sceneををRenderingRenderingする為の情報。する為の情報。
  ~ Render Setting~ Render Setting情報を保存する情報を保存する(ray sample(ray sampleとかとか) ~) ~
: Camera Setting(: Camera Setting(カメラの設定カメラの設定) … scene) … scene内の内のCameraCamera情報。情報。
:Local Object Definitions(Local:Local Object Definitions(Local座標系の座標系のObject) ...Object) ...ローカルでのローカルでのGeometryGeometry 情報。情報。
  ~instance Geometry~instance Geometryとかとか~~
:Render cmds(Rendering:Render cmds(Renderingコマンドコマンド))
: Shader(Shop&Mat: Shader(Shop&Matで作成されたで作成されたShaderShader情報情報)...)...マテリアル情報マテリアル情報
Mantra RenderMantra Renderははifdifdを読んでを読んでRenderRenderを実行する。を実行する。
~cmd ray_raytrace~cmd ray_raytraceで実行されるで実行される~~
RenderingRenderingするまでにいくつかの工程が内部的に実行されていることをするまでにいくつかの工程が内部的に実行されていることを
理解するのが今回の目的。理解するのが今回の目的。
RenderingRenderingを効率よくまわすには…を効率よくまわすには…
““RenderRenderを実行するまでの時間を短くする”を実行するまでの時間を短くする”
~~知ってるようで知らない知ってるようで知らないMantraMantra基礎知識基礎知識~~
IfdIfdを意識したを意識したworkflowworkflowを組めるようになると…を組めるようになると…
爆発的に爆発的にLevel upLevel upする!する!
ifdifd基礎基礎
H16H16からから...ifd...ifdの記述が変更された。の記述が変更された。
((大きなアナウンスは、日本では無かった。大きなアナウンスは、日本では無かった。))
H15.5H15.5までの記述なにが違うのまでの記述なにが違うの????
IfdDataIfdDataが大きいと…が大きいと…
I/OI/Oに時間が掛かりに時間が掛かり,Rendering,Renderingするまでの準備に時間を掛けてしまう。するまでの準備に時間を掛けてしまう。
Junior ArtistJunior Artistにありがち…にありがち…
レンダリングが重くて、どうしようもないレンダリングが重くて、どうしようもないShot...Shot...
例例......
通常通常RenderingFlow = 1F 30min;RenderingFlow = 1F 30min;
Optimize IFD = 1F 25min;Optimize IFD = 1F 25min;
Optimize IFDOptimize IFD
ifdifdが大きくなる原因が大きくなる原因....
:RenderGeometry:RenderGeometryが重いが重い
:Geometry Data:Geometry DataををSceneSceneに保存している。に保存している。
::複雑な複雑なShading NetworkShading Networkを使用している。を使用している。
:light:lightが多い。が多い。
~~特に多いのが特に多いのがRender Geometry ImportRender Geometry Importする工程。する工程。
IFDIFD出力時に高負荷がかかり過ぎて…出力時に高負荷がかかり過ぎて…
なかなかなかなかRenderingRenderingが始まらない。が始まらない。
Instance DataInstance Dataの活用の活用(Pack Geometry)(Pack Geometry)
HoudiniHoudiniにはには...Pack Geometry,Load Disk Geometry...Pack Geometry,Load Disk Geometryという考え方がある。という考え方がある。
DataDataををmainMemorymainMemoryにコピーせず…にコピーせず…
SceneScene上に簡略化された、軽量上に簡略化された、軽量GeometryGeometryを変わりに扱う。を変わりに扱う。
DataDataを直接を直接Disk(HDDDisk(HDDとかとか))から読むことでから読むことで
MainMemoryMainMemoryの圧迫を回避…の圧迫を回避…
GUIGUI上に表示させないことで作業スピードを爆発的にアップさせる。上に表示させないことで作業スピードを爆発的にアップさせる。
例例::
1GB Character ...1GB Character ...
Packed GeometryPacked GeometryとしてとしてHoudiniHoudini上で扱う上で扱う 28KB28KB

More Related Content

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Houdini study rev01_slide_data

  • 1. How to MantraHow to Mantra :Rendering & Shading:Rendering & Shading :IFD file:IFD file :Shader development:Shader development
  • 2. //Mantra Render//Mantra Render CPU Renderer... Shader Language(VEX Shading Language)CPU Renderer... Shader Language(VEX Shading Language) Rendering Engine…Rendering Engine… MicroPolygon RenderingMicroPolygon Rendering Raytrace RenderingRaytrace Rendering Physically-Based RenderingPhysically-Based Rendering どのレンダリングエンジンでもどのレンダリングエンジンでもVEXVEXで記述で記述........
  • 3. Mantra Rendering FlowMantra Rendering Flow 1:Tile …1:Tile … 22DD画像上の画像上のRenderRender領域の指定領域の指定 2:Geometry Import … Render Geometry2:Geometry Import … Render Geometryを読み込むを読み込む(ifd(ifdに順ずるに順ずる)) ~Edit Render Geometry~… Subdiv,Pscale,Width~Edit Render Geometry~… Subdiv,Pscale,Width 3:Displacement3:Displacement 4:Calculate Opacity4:Calculate Opacity OfOfが指定されていれば計算される。… 通常は無視。が指定されていれば計算される。… 通常は無視。 5:Rendering5:Rendering
  • 4. Shop Context& Mat ContextShop Context& Mat Context shadershader情報を評価する情報を評価するContextContext Mat context,Shop ContextMat context,Shop Contextによる結果の違いはない…による結果の違いはない… Artist likeArtist like ななGUIGUIでより扱いやすく設計されているでより扱いやすく設計されている(Mat)(Mat)。。 MatMatではではshadershader同士の同士のCombineCombineが容易である。が容易である。
  • 5. MicroPolygon RenderingMicroPolygon Rendering :REYES (:REYES (いわゆるバケットいわゆるバケットRendering) …Rendering) …   微小面積に細かく分割してその 領域内を  微小面積に細かく分割してその 領域内をRenderingRendering。。 情報をその領域のみ保持するので、情報をその領域のみ保持するので、memorymemoryコストは低い。コストは低い。 Mantra RenderMantra Renderでは…では… renderrender時に時にmicroPolygonmicroPolygonに変換する。に変換する。   point vertexpoint vertex毎に毎にShaderShader情報を評価する。情報を評価する。
  • 6. Raytarce RenderingRaytarce Rendering rayrayを飛ばしてを飛ばしてpixelpixel毎に毎にshadershaderを評価する。を評価する。 Miclo Polygon RenderingMiclo Polygon Renderingと違いと違いgeometrygeometryととrayrayの交点をの交点をsamplingsamplingする。する。
  • 7. Physically-based RenderingPhysically-based Rendering :Ray trace:Ray traceと同様のと同様のSamplingSamplingを実行。を実行。 ShaderShaderのプロセスが従来ののプロセスが従来のRay traceRay traceと違う。と違う。 ~ BSDF~ BSDF関数を用いて、関数を用いて、ShaderShaderを評価を評価 ~~
  • 8. MicroPolygon / Raytrace RenderingMicroPolygon / Raytrace Rendering :VSL:VSLを評価する…を評価する… Cf = Surface ColorCf = Surface Color Of = Surface OpacityOf = Surface Opacity Af = Surface AlphaAf = Surface Alpha N = Surface NormalN = Surface Normal 定められた変数に代入する事で定められた変数に代入する事で,VSL,VSLははRenderRender時に時にShaderShaderを評価する。を評価する。 ~~最終出力は、最終出力は、Shader LanguageShader Languageによって違うによって違う~~
  • 9. MicroPolygon / Raytrace RenderingMicroPolygon / Raytrace Rendering :Context:Contextごとにもあらかじめ定められている変数がある。ごとにもあらかじめ定められている変数がある。 各各ContextContext固有の変数がある。固有の変数がある。 Displacement ContextDisplacement Context Surface ContextSurface Context Light ContextLight Context Color = Surface ContextColor = Surface Context Displacement = Displacement ContextDisplacement = Displacement Context Light = Light ContextLight = Light Context それぞれ、生成される結果は違ってくる。それぞれ、生成される結果は違ってくる。 ContextContext間で情報の受け渡しが出来る。間で情報の受け渡しが出来る。
  • 10. Physically-Based RenderingPhysically-Based Rendering :VSL:VSLを評価する…を評価する… BSDFBSDF関数を用いて、色情報を計算する。関数を用いて、色情報を計算する。 ~BSDF =~BSDF = 入射角と反射角を受け取り、光が入射角と反射角を受け取り、光が""跳ね返る跳ね返る""時の反射光の大きさ時の反射光の大きさ~~ F = BSDFF = BSDF Of = Surface OpacityOf = Surface Opacity Af = Surface AlphaAf = Surface Alpha 光の振る舞いを関数で管理する。光の振る舞いを関数で管理する。
  • 11. Physically-Based RenderingPhysically-Based Rendering Surface ContextSurface ContextののVSLVSLの記述が変更される。の記述が変更される。 DisplacementDisplacement等その他の等その他のContextContextは同じ評価。は同じ評価。 Micro Polygon / Ray traceRenderMicro Polygon / Ray traceRender :Cf = SurfaceColor;:Cf = SurfaceColor; Physically-Based RenderingPhysically-Based Rendering :F =BSDF*Color ;:F =BSDF*Color ;
  • 12. 結局どういうこと?結局どういうこと? RenderingRenderingするにあたって…するにあたって… Shader(Material)Shader(Material)を評価するという事はを評価するという事は......どのどのRendering EngineRendering Engineでも一緒。でも一緒。 各各Rendering EngineRendering Engineで違う点で違う点.... :VSL:VSLの評価の方法が変わってくるの評価の方法が変わってくる :VSL:VSLの記述も少し変わってくる。の記述も少し変わってくる。 Physically-Based RenderingPhysically-Based Rendering Micro Polygon Rendering / Raytrace RenderingMicro Polygon Rendering / Raytrace Rendering 二種類の二種類のVSLVSLの記述に分けて考える事が出来る。の記述に分けて考える事が出来る。
  • 13. //PBR Shader//PBR Shader Surface Color = FSurface Color = F F = BSDF*Color();F = BSDF*Color(); //MicroPolygon / Raytrace Shader//MicroPolygon / Raytrace Shader Surface Color = Cf;Surface Color = Cf; Cf = Color();Cf = Color(); 従来の従来のShaderShader記述は記述は...... 光の振る舞いを記述するコストがある。光の振る舞いを記述するコストがある。
  • 14. おさらいおさらい........ Rendering process...Rendering process... 1:tile1:tile 2:Geometry Import2:Geometry Import 3:Displacement3:Displacement 4:4:CalculateCalculate OpacityOpacity 5: Rendering5: Rendering Rendering EngineRendering Engine :Micro Polygon Rendering:Micro Polygon Rendering :Raytrace Rendering:Raytrace Rendering :Phisically-Based Rendering:Phisically-Based Rendering ~Rendering Engine~Rendering Engineで変わる部分で変わる部分~~ :Shader:Shader記述、評価が違う。記述、評価が違う。
  • 15. Mantra ifd fileMantra ifd file ifdifdははHoudiniHoudiniで生成されるで生成されるSceneSceneを記述したを記述したfile format.file format. ~.ifd~.ifdにはにはscenescene内の最終計算結果及び内の最終計算結果及びRender tuningRender tuningの情報を保存するの情報を保存する~~ Hip fileHip fileからからIFDIFDを生成するには…を生成するには… Houdini FX or Houdini EngineHoudini FX or Houdini Engineのライセンスが必要。のライセンスが必要。 それ以外はそれ以外は...... Back groundBack groundで生成される。で生成される。 ifdifd生成生成~Rendering~Renderingの流れになる。の流れになる。 いわゆる中間ファイルである。いわゆる中間ファイルである。
  • 16. Structure ifdStructure ifd(ifd(ifdの中身)の中身) :: Header(Header(ヘッダー情報ヘッダー情報)…)… 共通設定共通設定(Day,Filename,Path...),(Day,Filename,Path...),コメントコメント : Geometry(Render Object Definition)...Render: Geometry(Render Object Definition)...Renderされるされるgeometrygeometry情報。情報。 : Render Setting(: Render Setting(レンダリング設定レンダリング設定)… scene)… sceneををRenderingRenderingする為の情報。する為の情報。   ~ Render Setting~ Render Setting情報を保存する情報を保存する(ray sample(ray sampleとかとか) ~) ~ : Camera Setting(: Camera Setting(カメラの設定カメラの設定) … scene) … scene内の内のCameraCamera情報。情報。 :Local Object Definitions(Local:Local Object Definitions(Local座標系の座標系のObject) ...Object) ...ローカルでのローカルでのGeometryGeometry 情報。情報。   ~instance Geometry~instance Geometryとかとか~~ :Render cmds(Rendering:Render cmds(Renderingコマンドコマンド)) : Shader(Shop&Mat: Shader(Shop&Matで作成されたで作成されたShaderShader情報情報)...)...マテリアル情報マテリアル情報
  • 17. Mantra RenderMantra Renderははifdifdを読んでを読んでRenderRenderを実行する。を実行する。 ~cmd ray_raytrace~cmd ray_raytraceで実行されるで実行される~~ RenderingRenderingするまでにいくつかの工程が内部的に実行されていることをするまでにいくつかの工程が内部的に実行されていることを 理解するのが今回の目的。理解するのが今回の目的。 RenderingRenderingを効率よくまわすには…を効率よくまわすには… ““RenderRenderを実行するまでの時間を短くする”を実行するまでの時間を短くする” ~~知ってるようで知らない知ってるようで知らないMantraMantra基礎知識基礎知識~~ IfdIfdを意識したを意識したworkflowworkflowを組めるようになると…を組めるようになると… 爆発的に爆発的にLevel upLevel upする!する!
  • 18. ifdifd基礎基礎 H16H16からから...ifd...ifdの記述が変更された。の記述が変更された。 ((大きなアナウンスは、日本では無かった。大きなアナウンスは、日本では無かった。)) H15.5H15.5までの記述なにが違うのまでの記述なにが違うの???? IfdDataIfdDataが大きいと…が大きいと… I/OI/Oに時間が掛かりに時間が掛かり,Rendering,Renderingするまでの準備に時間を掛けてしまう。するまでの準備に時間を掛けてしまう。 Junior ArtistJunior Artistにありがち…にありがち… レンダリングが重くて、どうしようもないレンダリングが重くて、どうしようもないShot...Shot... 例例...... 通常通常RenderingFlow = 1F 30min;RenderingFlow = 1F 30min; Optimize IFD = 1F 25min;Optimize IFD = 1F 25min;
  • 19. Optimize IFDOptimize IFD ifdifdが大きくなる原因が大きくなる原因.... :RenderGeometry:RenderGeometryが重いが重い :Geometry Data:Geometry DataををSceneSceneに保存している。に保存している。 ::複雑な複雑なShading NetworkShading Networkを使用している。を使用している。 :light:lightが多い。が多い。 ~~特に多いのが特に多いのがRender Geometry ImportRender Geometry Importする工程。する工程。 IFDIFD出力時に高負荷がかかり過ぎて…出力時に高負荷がかかり過ぎて… なかなかなかなかRenderingRenderingが始まらない。が始まらない。
  • 20. Instance DataInstance Dataの活用の活用(Pack Geometry)(Pack Geometry) HoudiniHoudiniにはには...Pack Geometry,Load Disk Geometry...Pack Geometry,Load Disk Geometryという考え方がある。という考え方がある。 DataDataををmainMemorymainMemoryにコピーせず…にコピーせず… SceneScene上に簡略化された、軽量上に簡略化された、軽量GeometryGeometryを変わりに扱う。を変わりに扱う。 DataDataを直接を直接Disk(HDDDisk(HDDとかとか))から読むことでから読むことで MainMemoryMainMemoryの圧迫を回避…の圧迫を回避… GUIGUI上に表示させないことで作業スピードを爆発的にアップさせる。上に表示させないことで作業スピードを爆発的にアップさせる。 例例:: 1GB Character ...1GB Character ... Packed GeometryPacked GeometryとしてとしてHoudiniHoudini上で扱う上で扱う 28KB28KB