您的位置:首页 > 其它

渲染流程记录

2017-03-03 22:10 148 查看
前一段时间搞清楚了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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: