Moderators: seebs, franciscotufro
- if ( mShader ) {
- gfxDevice.SetShader ( mShader );
- } else {
- gfxDevice.SetShaderPreset ( MOAIShaderMgr::LINE_SHADER );
- }
Undefined symbols for architecture i386:
"MOAIDraw::mShader", referenced from:
MOAIDraw::_setShader(lua_State*) in libmoai-ios.a(MOAIDraw.o)
MOAIDraw::Bind() in libmoai-ios.a(MOAIDraw.o)
- class MOAIDraw :
- public MOAIGlobalClass < MOAIDraw, MOAILuaObject > {
- private:
- static MOAIShader* mShader; // <- This is new
- //----------------------------------------------------------------//
- // Existing lua methods goes here
- static int _setShader ( lua_State* L ); // <- This is new
- public:
- DECL_LUA_SINGLETON ( MOAIDraw )
- //----------------------------------------------------------------//
- // Public methods goes here
- };
- int MOAIDraw::_setShader ( lua_State* L ) {
- MOAI_LUA_SETUP ( MOAIDraw, "U" )
- MOAIShader* shader = state.GetLuaObject < MOAIShader >( 2 );
- MOAIDraw::mShader = shader;
- return 0;
- }
- void MOAIDraw::Bind () {
- MOAIGfxDevice& gfxDevice = MOAIGfxDevice::Get ();
- gfxDevice.SetTexture ();
- if ( MOAIDraw::mShader ) {
- gfxDevice.SetShader ( MOAIDraw::mShader );
- } else {
- gfxDevice.SetShaderPreset ( MOAIShaderMgr::LINE_SHADER );
- }
- gfxDevice.SetVertexPreset ( MOAIVertexFormatMgr::XYZWC );
- }
- MOAIShader* MOAIDraw::mShader;
- width = 512
- height = 512
-
- MOAISim.openWindow ( "test", width, height )
-
- viewport = MOAIViewport.new ()
- viewport:setSize ( width, height )
- viewport:setScale ( width, height )
-
- layer = MOAILayer2D.new ()
- layer:setViewport ( viewport )
- MOAISim.pushRenderPass ( layer )
-
- scriptDeck = MOAIScriptDeck.new ( )
- scriptDeck:setRect ( - width / 2, - height / 2, width / 2, height / 2 )
-
- prop = MOAIProp2D.new ()
- prop:setDeck ( scriptDeck )
- layer:insertProp ( prop )
-
- onDraw = function ( )
- MOAIGfxDevice.setPenColor ( 1, 1, 1, 1 )
- vertices = { - 100.0, 0.0, 0.0, 200.0, 100.0, 0.0 }
- MOAIDraw.fillFan ( vertices )
- end
-
- file = assert ( io.open ( 'shader.vsh', mode ))
- vsh = file:read ( '*all' )
- file:close ()
-
- file = assert ( io.open ( 'shader.fsh', mode ))
- fsh = file:read ( '*all' )
- file:close ()
-
- shader = MOAIShader.new ()
- shader:setVertexAttribute ( 1, 'position' )
- shader:setVertexAttribute ( 2, 'color' )
-
- shader:load ( vsh, fsh )
-
- scriptDeck:setShader ( shader )
- scriptDeck:setDrawCallback ( onDraw )
-
- attribute vec4 position;
- attribute vec4 color;
-
- varying vec4 colorVarying;
-
- void main () {
- gl_Position = position;
- colorVarying = color * position;
- }
- varying LOWP vec4 colorVarying;
-
- void main() {
- gl_FragColor = colorVarying;
- }
-

Users browsing this forum: No registered users and 1 guest