今天遇到了乙個說不上奇怪的問題,這裡記錄一下:
在電腦端的shader是這樣寫的:
uniform
sampler2d
texture;
uniform
vec2 sizeinfo;
varying
mediump
vec2 texcoord;
const
vec2 src_size = vec2 (1.0 / sizeinfo.x, 1.0 / sizeinfo.y);
但是部署到手機端的時候,就報錯。正確的寫法是將const去掉。
這個問題是const
的問題,在著色器編譯的時候,sizeinfo
並沒有確定,並不能設定為const物件,所以在手機端的時候就會報錯,但是在電腦端因為版本優化的問題則不會報錯。
先構造乙個空的,然後在賦值。
vec2 texcoord_tmp;
texcoord_tmp.x = texcoord.x/2
;texcoord_tmp.y = texcoord.y/2
;
這其實是不好的習慣,在構造的時候就應該賦值,**也會短很多。
vec2 texcoord_tmp =texcoord.xy/2.0;
Tips xcode部署app到手機
參考 首先在xcode的performance中的accounts中加入icloud account 在編譯選項旁的目標裝置欄,選擇裝置,並在編譯選項中配置ios版本。需要在專案設定的general bundle identifier裡,對string做一定修改 如果這個專案的string已經用過了...
寫Shader的IDE工具合集
寫了一段時間shader,覺得還是有必要找個合適的ide,以達到事半功倍的效果,提高效率。其中unity3d pack包含shaderlabvscode free 安裝教程 官方商店介紹 介紹安裝教程 構建這個外掛程式作者的教程 對於設定環境變數很麻煩可以直接設定成對應的程式執行位址 using u...
osg的shader使用過程
方法一 osg 建立shader osg shader vshader new osg shader osg shader vertex,vertexsource osg shader gshader new osg shader osg shader geometry,geomsource osg...