1. 程式人生 > >Qt 3D的研究(四):指定渲染的材質以及效果

Qt 3D的研究(四):指定渲染的材質以及效果

       程式碼新新增的部分在//! [5]中。這裡我們沒有使用預設的PhoneMaterial,而是使用它的父類Material,並且通過指定Effect來實現自己需要的渲染效果。Effect中含有的Technique表示使用的OpenGL技術,因為OpenGL有多個版本,分OpenGL和OpenGL ES,還分core profile和compatibility profile,這樣使得種種技術變得十分繁雜。所以Qt 3D提出了Technique這個概念。通過指定api、profile以及majorVersion和minorVersion版本,來使用我們需要的OpenGL API。接著是RenderPass渲染遍(這個翻譯總感覺不好),它表示一次渲染需要多少遍渲染操作。比如說在shadow map這個技術中,需要渲染不止一遍,所以要指定兩個RenderPass。而每一遍的RenderPass,需要指定著色器程式。因此,我們載入相應的著色器檔案,來讓系統編譯以及連結之,最後得以渲染。本例中,我們實現一個最簡單的著色器Simple.vert以及Simple.frag,他們如下所示: