渲染流程记录

前一段时间搞清楚了cocos2dx的渲染流程 今天好像有遗忘了不少细节 果然好记性不如烂笔头 还是不偷懒几下
渲染流程记录:
create (texturecache:addimage ,ccimage:initWithImageFile initWithImageData,texture2d:initWithImage) inittexture settexture&&setTextureRect( updateBlendFunc() setOpacityModifyRGB updateColor updateQuad setTextureCoords setVertexRect setContentSize) 设置完数据 当一帧过去directory drawScene visit进行draw draw把当前对象加入渲染队列 最后render进行渲染画出 render根据不同队列类型渲染的流程网上可以找到
还有用自己的shader一定要绑定的a_position,a_color,a_texturecoord应该是在texture2d里面用到
另外之前练习的为了方便查看弄出console也记录下 免得以后到处找
main.cpp

#include "main.h"
#include "AppDelegate.h"
#include "cocos2d.h"

USING_NS_CC;
#define USE_WIN32_CONSOLE
int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
#ifdef USE_WIN32_CONSOLE

    AllocConsole();

    CreateConsoleScreenBuffer(GENERIC_WRITE|GENERIC_READ,0,0,CONSOLE_TEXTMODE_BUFFER,0);
    /*HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD size; size.X = 512 ; size.Y = 512;
    SetConsoleScreenBufferSize(hOut,size);*/

    freopen("CONIN$", "r", stdin);
    freopen("CONOUT$", "w", stdout);
    freopen("CONOUT$", "w", stderr);


    HANDLE input   = GetStdHandle(STD_INPUT_HANDLE);        

    ::SetConsoleMode(input,ENABLE_ECHO_INPUT|ENABLE_PROCESSED_INPUT
        |ENABLE_WINDOW_INPUT|ENABLE_MOUSE_INPUT|ENABLE_PROCESSED_OUTPUT|
        ENABLE_WRAP_AT_EOL_OUTPUT|ENABLE_LINE_INPUT|0x0004|0x0040);
#endif



    // create the application instance
    AppDelegate app;
    int ret = Application::getInstance()->run();
#ifdef USE_WIN32_CONSOLE
    FreeConsole();
#endif
    return ret;
}

猜你喜欢

转载自blog.csdn.net/x2345com/article/details/60151565