渲染流程记录

来源:互联网 发布:网络安全保密心得体会 编辑:程序博客网 时间:2024/06/03 14:10

前一段时间搞清楚了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_CONSOLEint 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;}
0 0
原创粉丝点击