您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CC_NODE_DRAW_SETUP函数代码示例

51自学网 2021-06-01 19:57:40
  C++
这篇教程C++ CC_NODE_DRAW_SETUP函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CC_NODE_DRAW_SETUP函数的典型用法代码示例。如果您正苦于以下问题:C++ CC_NODE_DRAW_SETUP函数的具体用法?C++ CC_NODE_DRAW_SETUP怎么用?C++ CC_NODE_DRAW_SETUP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CC_NODE_DRAW_SETUP函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: CC_NODE_DRAW_SETUP

void BatchNode::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated){    if (_children.empty())    {        return;    }    CC_NODE_DRAW_SETUP();    bool pushed = false;    for(auto object : _children)    {        Armature *armature = dynamic_cast<Armature *>(object);        if (armature)        {            if (!pushed)            {                generateGroupCommand();                pushed = true;            }                    armature->visit(renderer, transform, transformUpdated);        }        else        {            renderer->popGroup();            pushed = false;                        ((Node *)object)->visit(renderer, transform, transformUpdated);        }    }}
开发者ID:BellyWong,项目名称:EarthWarrior3D,代码行数:32,


示例2: CC_NODE_DRAW_SETUP

void TextureSprite::draw(){    if (!m_bVisible) return;    CC_NODE_DRAW_SETUP();    ccGLBlendFunc(m_sBlendFunc.src, m_sBlendFunc.dst);    ccGLBindTexture2D(mTexture2D->getName());    ccGLEnableVertexAttribs(kCCVertexAttribFlag_Position | kCCVertexAttribFlag_TexCoords);    /// Time offset    getShaderProgram()->setUniformLocationWith2f(mTimeLocation, mTime.x, mTime.y);    /// Color    getShaderProgram()->setUniformLocationWith4f(mColorLocation, mColor.r, mColor.g, mColor.b, mColor.a);    /// Vertex    glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, sizeof(ccVertex3F), (void*)&mVertexPos[0]);    /// Texture coord.    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, sizeof(ccTex2F), (void*)&mTexCoords[0]);    /// Available mode: GL_TRIANGLES, GL_TRIANGLES_STRIP and GL_TRIANGLE_FAN    glDrawArrays(GL_TRIANGLES, 0, mVertexPos.size());    /// Do NOT call glFlush or performance will decrease drastically!    /// glFlush();    CHECK_GL_ERROR_DEBUG();    CC_INCREMENT_GL_DRAWS(1);}
开发者ID:xoraphics,项目名称:yummyjump,代码行数:29,


示例3: CC_NODE_DRAW_SETUP

void CADrawView::draw(){    CC_NODE_DRAW_SETUP();    ccGLBlendFunc(m_sBlendFunc.src, m_sBlendFunc.dst);        render();}
开发者ID:Brian1900,项目名称:CrossApp,代码行数:7,


示例4: CC_NODE_DRAW_SETUP

KDvoid Controller::draw ( KDvoid ){    CC_NODE_DRAW_SETUP ( );    	GLfloat  fVertices [ ] = 	{		   0,  512, 		1024,  512, 		   0,    0, 		1024,    0, 	};	GLfloat  fCoords [ ] =	{		   0,  0,		   1,  0,		   0,  1, 		   1,  1, 	};	ccGLBindTexture2D ( m_uTexture );    ccGLEnableVertexAttribs ( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_TexCoords );	if ( m_pDrawFunc )	{		m_pDrawFunc ( KD_GET_UST2MSEC );	}	ccGLVertexAttribPointer ( kCCVertexAttrib_Position , 2, GL_FLOAT, GL_FALSE, 0, fVertices );	ccGLVertexAttribPointer ( kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, fCoords );		glDrawArrays ( GL_TRIANGLE_STRIP, 0, 4 );	ccGLBindTexture2D ( 0 );}
开发者ID:mcodegeeks,项目名称:OpenKODE-Framework,代码行数:35,


示例5: CC_NODE_DRAW_SETUP

void BBWater::draw(){    CC_NODE_DRAW_SETUP();    //    ccGLBlendFunc( m_sBlendFunc.src, m_sBlendFunc.dst );        ccGLBindTexture2D( m_sprite->getTexture()->getName() );//    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );    //    glBindBuffer(GL_ARRAY_BUFFER, m_vertexVbo);//    glBufferData(GL_ARRAY_BUFFER, sizeof(float)*vertexArray.size(), &vertexArray[0], GL_STATIC_DRAW);        glEnableVertexAttribArray( kCCVertexAttrib_Position );        // vertex    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3, &vertexArray[0]);    //    // texCoods//    diff = offsetof( ccV3F_C4B_T2F, texCoords);//    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, kQuadSize, (void*)(offset + diff));//    //    // color//    diff = offsetof( ccV3F_C4B_T2F, colors);//    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (void*)(offset + diff));            glDrawArrays(GL_TRIANGLES, 0, m_faceCount);        CHECK_GL_ERROR_DEBUG();}
开发者ID:newcl,项目名称:boom,代码行数:30,


示例6: CC_NODE_DRAW_SETUP

void CCEPixelNode::draw(){	CC_NODE_DRAW_SETUP();    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_Color );    //    // Attributes    //	ccePixelPart* pt = m_pPixels;	while(pt!=NULL) {		if(!pt->hide) {			for(int i=0;i<pt->len;i++) {				ccePixelInfo* p = pt->pixels+i;				if(p->hide)continue;				glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, p->square);				glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_FLOAT, GL_FALSE, 0, p->color);						ccGLBlendFunc( m_tBlendFunc.src, m_tBlendFunc.dst );				glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);			}		}		pt = pt->next;	}    CC_INCREMENT_GL_DRAWS(1);	}
开发者ID:catyguan,项目名称:gamedev.platform,代码行数:26,


示例7: CC_NODE_DRAW_SETUP

void CCMenuItemColor::draw(Renderer *renderer, const kmMat4& transform, bool transformUpdated) {    CC_NODE_DRAW_SETUP();        ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_Color );        //    // Attributes    //#ifdef EMSCRIPTEN    setGLBufferData(m_pSquareVertices, 4 * sizeof(ccVertex2F), 0);    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, 0);        setGLBufferData(m_pSquareColors, 4 * sizeof(ccColor4F), 1);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_FLOAT, GL_FALSE, 0, 0);#else    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, m_pSquareVertices);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_FLOAT, GL_FALSE, 0, m_pSquareColors);#endif // EMSCRIPTEN        ccGLBlendFunc(m_tBlendFunc.src, m_tBlendFunc.dst);        glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);        CC_INCREMENT_GL_DRAWS(1);}
开发者ID:ourgames,项目名称:dc208,代码行数:25,


示例8: CC_PROFILER_START

void Label::onDraw(){    CC_PROFILER_START("Label - draw");    // Optimization: Fast Dispatch    if( _batchNodes.size() == 1 && _textureAtlas->getTotalQuads() == 0 )    {        return;    }    CC_NODE_DRAW_SETUP();    if (_useDistanceField && _currLabelEffect != LabelEffect::NORMAL)    {        _shaderProgram->setUniformLocationWith3f(_uniformEffectColor, _effectColor.r/255.0f,_effectColor.g/255.0f,_effectColor.b/255.0f);    }    for(const auto &child: _children)    {        child->updateTransform();    }    GL::blendFunc( _blendFunc.src, _blendFunc.dst );    for (const auto& batchNode:_batchNodes)    {        batchNode->getTextureAtlas()->drawQuads();    }    CC_PROFILER_STOP("Label - draw");}
开发者ID:12white,项目名称:CocoStudioSamples,代码行数:31,


示例9: CC_NODE_DRAW_SETUP

void CCDrawNode::draw(){    CC_NODE_DRAW_SETUP();    ccGLBlendFunc(m_sBlendFunc.src, m_sBlendFunc.dst);        render();}
开发者ID:wenhulove333,项目名称:ScutServer,代码行数:7,


示例10: CC_NODE_DRAW_SETUP

void MotionStreak::draw(){    if(_nuPoints <= 1)        return;    CC_NODE_DRAW_SETUP();    GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );    GL::blendFunc( _blendFunc.src, _blendFunc.dst );    GL::bindTexture2D( _texture->getName() );#ifdef EMSCRIPTEN    // Size calculations from ::initWithFade    setGLBufferData(_vertices, (sizeof(Vertex2F) * _maxPoints * 2), 0);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, 0);    setGLBufferData(_texCoords, (sizeof(Tex2F) * _maxPoints * 2), 1);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, 0);    setGLBufferData(_colorPointer, (sizeof(GLubyte) * _maxPoints * 2 * 4), 2);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0);#else    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, _vertices);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, 0, _texCoords);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, _colorPointer);#endif // EMSCRIPTEN    glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)_nuPoints*2);    CC_INCREMENT_GL_DRAWS(1);}
开发者ID:Gamex,项目名称:GameX,代码行数:32,


示例11: CC_NODE_DRAW_SETUP

void CCMotionStreak::draw(){    if(m_uNuPoints <= 1)        return;    CC_NODE_DRAW_SETUP(this);    ccGLEnableVertexAttribs(kCCVertexAttribFlag_PosColorTex );    ccGLBlendFunc( m_tBlendFunc.src, m_tBlendFunc.dst );    ccGLBindTexture2D( m_pTexture->getName() );    if(m_pTexture->isETC()) {        getShaderProgram()->useSeparatedAlphaChannel(m_pTexture->getAlphaChannel()->getName());    }    #ifdef EMSCRIPTEN    // Size calculations from ::initWithFade    setGLBufferData(m_pVertices, (sizeof(ccVertex2F) * m_uMaxPoints * 2), 0);    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, 0);    setGLBufferData(m_pTexCoords, (sizeof(ccTex2F) * m_uMaxPoints * 2), 1);    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, 0);    setGLBufferData(m_pColorPointer, (sizeof(GLubyte) * m_uMaxPoints * 2 * 4), 2);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0);#else    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, m_pVertices);    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, m_pTexCoords);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, m_pColorPointer);#endif // EMSCRIPTEN    glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)m_uNuPoints*2);    CC_INCREMENT_GL_DRAWS(1);}
开发者ID:boruis,项目名称:cocos2dx-classical,代码行数:35,


示例12: CC_NODE_DRAW_SETUP

void BatchNode::draw(){    if (_children.empty())    {        return;    }    CC_NODE_DRAW_SETUP();    bool pushed = false;    for(auto object : _children)    {        Armature *armature = dynamic_cast<Armature *>(object);        if (armature)        {            if (!pushed)            {                generateGroupCommand();                pushed = true;            }                    armature->visit();        }        else        {            Director::getInstance()->getRenderer()->popGroup();            pushed = false;                        ((Node *)object)->visit();        }    }}
开发者ID:leanlyne,项目名称:ShootColorX,代码行数:32,


示例13: CC_NODE_DRAW_SETUP

void Sky::draw(Renderer *renderer, const Mat4& transform, uint32_t flags) {        cocos2d::Size s = Director::getInstance()->getWinSize();        DoodleTruck *doodleTruck = DoodleTruck::sharedDoodleTruck();    CC_NODE_DRAW_SETUP();        Vec2 _skyVertices[4];    Vec2 _skyTexCoords[4];        _skyVertices[0] = Vec2(0, 0);    _skyTexCoords[0] = Vec2(1.0, 1.0f);    _skyVertices[1] = Vec2(s.width, 0);    _skyTexCoords[1] = Vec2(1.0f, 1.0f);        _skyVertices[2] = Vec2(0, s.height);    _skyTexCoords[2] = Vec2(31.0f, 63.0f);    _skyVertices[3] = Vec2(s.width, s.height);    _skyTexCoords[3] = Vec2(31.0f, 63.0f);            Texture2D * tex = Director::getInstance()->getTextureCache()->textureForKey("sky-bg-rainbow.png");    GL::bindTexture2D(tex->getName());    GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);        ccDrawColor4F(1.0f, 1.0f, 1.0f, 1.0f);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, _skyVertices);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, _skyTexCoords);        glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)4);       // ccDrawColor4F(1.0, 1.0, 1.0, 1.0);*/}
开发者ID:HoaPham98,项目名称:HillClimb,代码行数:33,


示例14: CC_PROFILER_START_CATEGORY

//--------------------------------------------------------void CRemoveBKSprite::draw(void){	CC_PROFILER_START_CATEGORY(kCCProfilerCategorySprite, "CCSprite - draw");	CCAssert(!m_pobBatchNode, "If CCSprite is being rendered by CCSpriteBatchNode, CCSprite#draw SHOULD NOT be called");	CC_NODE_DRAW_SETUP();	// 启用attributes变量输入,顶点坐标,纹理坐标,颜色	ccGLEnableVertexAttribs( kCCVertexAttribFlag_PosColorTex );	ccGLBlendFunc(m_sBlendFunc.src, m_sBlendFunc.dst);	m_pShaderProgram->use();	m_pShaderProgram->setUniformsForBuiltins();	// 绑定纹理到纹理槽0	ccGLBindTexture2D(m_pobTexture->getName());	long offset = (long)&m_sQuad;	// vertex	int diff = offsetof( ccV3F_C4B_T2F, vertices);	glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, sizeof(m_sQuad.bl), (void*) (offset + diff));	// texCoods	diff = offsetof( ccV3F_C4B_T2F, texCoords);	glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, sizeof(m_sQuad.bl), (void*)(offset + diff));	// color	diff = offsetof( ccV3F_C4B_T2F, colors);	glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(m_sQuad.bl), (void*)(offset + diff));	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);	CHECK_GL_ERROR_DEBUG();	CC_INCREMENT_GL_DRAWS(1);	CC_PROFILER_STOP_CATEGORY(kCCProfilerCategorySprite, "CCSprite - draw");}
开发者ID:Pancho2wang,项目名称:cocos2dx_shader_demo,代码行数:35,


示例15: CC_NODE_DRAW_SETUP

void ShaderNode::draw(){    CC_NODE_DRAW_SETUP();    float w = SIZE_X, h = SIZE_Y;    GLfloat vertices[12] = {0,0, w,0, w,h, 0,0, 0,h, w,h};    //    // Uniforms    //    getShaderProgram()->setUniformLocationWith2f(m_uniformCenter, m_center.x, m_center.y);    getShaderProgram()->setUniformLocationWith2f(m_uniformResolution, m_resolution.x, m_resolution.y);    // time changes all the time, so it is Ok to call OpenGL directly, and not the "cached" version    glUniform1f(m_uniformTime, m_time);    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );    glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, 0, vertices);    glDrawArrays(GL_TRIANGLES, 0, 6);        CC_INCREMENT_GL_DRAWS(1);}
开发者ID:1vs1,项目名称:quick-cocos2d-x,代码行数:25,


示例16: CC_NODE_DRAW_SETUP

void CCControlSwitchSprite::draw(){    CC_NODE_DRAW_SETUP();    ccGLEnableVertexAttribs(kCCVertexAttribFlag_PosColorTex);    ccGLBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);    getShaderProgram()->setUniformForModelViewProjectionMatrix();    glActiveTexture(GL_TEXTURE0);    glBindTexture( GL_TEXTURE_2D, getTexture()->getName());    glUniform1i(m_uTextureLocation, 0);    glActiveTexture(GL_TEXTURE1);    glBindTexture( GL_TEXTURE_2D, m_pMaskTexture->getName() );    glUniform1i(m_uMaskLocation, 1);#define kQuadSize sizeof(m_sQuad.bl)    long offset = (long)&m_sQuad;    // vertex    int diff = offsetof( ccV3F_C4B_T2F, vertices);    glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, kQuadSize, (void*) (offset + diff));    // texCoods    diff = offsetof( ccV3F_C4B_T2F, texCoords);    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, kQuadSize, (void*)(offset + diff));    // color    diff = offsetof( ccV3F_C4B_T2F, colors);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (void*)(offset + diff));    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);    glActiveTexture(GL_TEXTURE0);}
开发者ID:suzuhiroruri,项目名称:EuropeanCharisou,代码行数:34,


示例17: CC_NODE_DRAW_SETUP

void ShaderSprite::onDraw(){    CC_NODE_DRAW_SETUP();        setCustomUniforms();        GL::enableVertexAttribs(cocos2d::GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );    GL::blendFunc(_blendFunc.src, _blendFunc.dst);    GL::bindTexture2D( getTexture()->getName());        //    // Attributes    //#define kQuadSize sizeof(_quad.bl)    long offset = (long)&_quad;        // vertex    int diff = offsetof( V3F_C4B_T2F, vertices);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, kQuadSize, (void*) (offset + diff));        // texCoods    diff = offsetof( V3F_C4B_T2F, texCoords);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, kQuadSize, (void*)(offset + diff));        // color    diff = offsetof( V3F_C4B_T2F, colors);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (void*)(offset + diff));            glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);}
开发者ID:ioyouj,项目名称:Hello-LWF-Cocos2d-x,代码行数:31,


示例18: CC_NODE_DRAW_SETUP

//--------------------------------------------------------void CShaderNode::draw(){	CC_NODE_DRAW_SETUP();  	//传递uniform变量  	CCGLProgram* shader = getShaderProgram();  	shader->setUniformLocationWith2f(m_unUniformResolution, m_tagResolutionPos.x, m_tagResolutionPos.y);	shader->setUniformLocationWith1i(m_unUniformTex0, 0); 	glUniform1f(m_unUniformTime, m_fTime);	//获取attribute变量  	CCSize size = this->getContentSize();  	float w = size.width;  	float h = size.height;  	ccGLBindTexture2D(m_pTexture);								//绑定纹理到槽位  	glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, w, h, 0); //截取屏幕数据到纹理  	glEnableVertexAttribArray(m_unAttributePosition); 	//传递attribute变量  	GLfloat vertices[12] = {  		0, 0, //左下0		w, 0, //右下1		w, h, //右上2		0, 0, //左下0		0, h, //左上3		w, h, //右上2	};  	glVertexAttribPointer(m_unAttributePosition, 2, GL_FLOAT, GL_FALSE, 0, vertices);  	glVertexAttrib4fv(m_unAttributeColor, m_fColor);  	//绘制  	glDrawArrays(GL_TRIANGLES, 0, 6);  }
开发者ID:Pancho2wang,项目名称:cocos2dx_shader_demo,代码行数:34,


示例19: CC_NODE_DRAW_SETUP

void LightLayer::draw(){	CC_NODE_DRAW_SETUP();	GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR);	glUniform3f(_spotLocation, _spotPoint.x, _spotPoint.y, 0);	glUniform4f(_innerColor, 0, 0, 0, 0);	glUniform1f(_spotInnerRadius, 50);	glUniform1f(_spotOuterRadius, 220);	//	// Attributes	//#ifdef EMSCRIPTEN	setGLBufferData(_squareVertices, 4 * sizeof(Vertex2F), 0);	glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, 0);	setGLBufferData(_squareColors, 4 * sizeof(Color4F), 1);	glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_FLOAT, GL_FALSE, 0, 0);#else	glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, _squareVertices);	glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_FLOAT, GL_FALSE, 0, _squareColors);#endif // EMSCRIPTEN	GL::blendFunc(_blendFunc.src, _blendFunc.dst);	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);	CC_INCREMENT_GL_DRAWS(1);}
开发者ID:ado137,项目名称:shader_cocos2dx,代码行数:30,


示例20: CC_NODE_DRAW_SETUP

void ShaderNode::draw(){    CC_NODE_DRAW_SETUP();    float w = SIZE_X, h = SIZE_Y;    GLfloat vertices[12] = {0, 0, w, 0, w, h, 0, 0, 0, h, w, h};    //    // Uniforms    //    getShaderProgram()->setUniformLocationWith2f(_uniformCenter, _center.x, _center.y);    getShaderProgram()->setUniformLocationWith2f(_uniformResolution, _resolution.x, _resolution.y);    // time changes all the time, so it is Ok to call OpenGL directly, and not the "cached" version    glUniform1f(_uniformTime, _time);    GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, vertices);    glDrawArrays(GL_TRIANGLES, 0, 6);    CC_INCREMENT_GL_DRAWS(1);}
开发者ID:ADoby,项目名称:Project_Space_Pirate,代码行数:25,


示例21: CCAssert

// overriding draw methodvoid CCParticleSystemQuad::draw(){        CCAssert(!m_pBatchNode,"draw should not be called when added to a particleBatchNode");    CC_NODE_DRAW_SETUP();    ccGLBindTexture2D( m_pTexture->getName() );    ccGLBlendFunc( m_tBlendFunc.src, m_tBlendFunc.dst );    CCAssert( m_uParticleIdx == m_uParticleCount, "Abnormal error in particle quad");#if CC_TEXTURE_ATLAS_USE_VAO    //    // Using VBO and VAO    //    glBindVertexArray( m_uVAOname );#if CC_REBIND_INDICES_BUFFER    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_pBuffersVBO[1]);#endif    glDrawElements(GL_TRIANGLES, (GLsizei) m_uParticleIdx*6, GL_UNSIGNED_SHORT, 0);#if CC_REBIND_INDICES_BUFFER    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);#endif    glBindVertexArray( 0 );#else    //    // Using VBO without VAO    //    #define kQuadSize sizeof(m_pQuads[0].bl)    ccGLEnableVertexAttribs( kCCVertexAttribFlag_PosColorTex );    glBindBuffer(GL_ARRAY_BUFFER, m_pBuffersVBO[0]);    // vertices    glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, kQuadSize, (GLvoid*) offsetof( ccV3F_C4B_T2F, vertices));    // colors    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (GLvoid*) offsetof( ccV3F_C4B_T2F, colors));    // tex coords    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, kQuadSize, (GLvoid*) offsetof( ccV3F_C4B_T2F, texCoords));        glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_pBuffersVBO[1]);    glDrawElements(GL_TRIANGLES, (GLsizei) m_uParticleIdx*6, GL_UNSIGNED_SHORT, 0);    glBindBuffer(GL_ARRAY_BUFFER, 0);    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);#endif    CC_INCREMENT_GL_DRAWS(1);    CHECK_GL_ERROR_DEBUG();}
开发者ID:Atomz,项目名称:super-animation-samples,代码行数:59,


示例22: CCASSERT

// overriding draw methodvoid ParticleSystemQuad::draw(){        CCASSERT(!_batchNode,"draw should not be called when added to a particleBatchNode");    CC_NODE_DRAW_SETUP();    GL::bindTexture2D( _texture->getName() );    GL::blendFunc( _blendFunc.src, _blendFunc.dst );    CCASSERT( _particleIdx == _particleCount, "Abnormal error in particle quad");#if CC_TEXTURE_ATLAS_USE_VAO    //    // Using VBO and VAO    //    GL::bindVAO(_VAOname);#if CC_REBIND_INDICES_BUFFER    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _buffersVBO[1]);#endif    glDrawElements(GL_TRIANGLES, (GLsizei) _particleIdx*6, GL_UNSIGNED_SHORT, 0);#if CC_REBIND_INDICES_BUFFER    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);#endif#else    //    // Using VBO without VAO    //    #define kQuadSize sizeof(_quads[0].bl)    GL::enableVertexAttribs( GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );    glBindBuffer(GL_ARRAY_BUFFER, _buffersVBO[0]);    // vertices    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, kQuadSize, (GLvoid*) offsetof( V3F_C4B_T2F, vertices));    // colors    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (GLvoid*) offsetof( V3F_C4B_T2F, colors));    // tex coords    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, kQuadSize, (GLvoid*) offsetof( V3F_C4B_T2F, texCoords));        glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _buffersVBO[1]);    glDrawElements(GL_TRIANGLES, (GLsizei) _particleIdx*6, GL_UNSIGNED_SHORT, 0);    glBindBuffer(GL_ARRAY_BUFFER, 0);    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);#endif    CC_INCREMENT_GL_DRAWS(1);    CHECK_GL_ERROR_DEBUG();}
开发者ID:ADoby,项目名称:Project_Space_Pirate,代码行数:57,


示例23: CC_NODE_DRAW_SETUP

// AtlasNode - drawvoid AtlasNode::draw(void){    CC_NODE_DRAW_SETUP();    ccGLBlendFunc( _blendFunc.src, _blendFunc.dst );    GLfloat colors[4] = {_displayedColor.r / 255.0f, _displayedColor.g / 255.0f, _displayedColor.b / 255.0f, _displayedOpacity / 255.0f};    getShaderProgram()->setUniformLocationWith4fv(_uniformColor, colors, 1);    _textureAtlas->drawNumberOfQuads(_quadsToDraw, 0);}
开发者ID:bassarisse,项目名称:LostInCaves,代码行数:12,


示例24: CC_NODE_DRAW_SETUP

// CCAtlasNode - drawvoid CCAtlasNode::draw(void){    CC_NODE_DRAW_SETUP();    ccGLBlendFunc( m_tBlendFunc.src, m_tBlendFunc.dst );    GLfloat colors[4] = {m_tColor.r / 255.0f, m_tColor.g / 255.0f, m_tColor.b / 255.0f, m_cOpacity / 255.0f};    getShaderProgram()->setUniformLocationWith4fv(m_nUniformColor, colors, 1);    m_pTextureAtlas->drawNumberOfQuads(m_uQuadsToDraw, 0);}
开发者ID:hbbalfred,项目名称:CCXWebview,代码行数:12,


示例25: CC_NODE_DRAW_SETUP

// Cocos2dxAtlasNode - drawvoid Cocos2dxAtlasNode::draw(){    CC_NODE_DRAW_SETUP();    ccGLBlendFunc( m_tBlendFunc.src, m_tBlendFunc.dst );    GLfloat colors[4] = {_displayedColor.r / 255.0f, _displayedColor.g / 255.0f, _displayedColor.b / 255.0f, _displayedOpacity / 255.0f};    getShaderProgram()->setUniformLocationWith4fv(m_nUniformColor, colors, 1);    m_pTextureAtlas->drawNumberOfQuads(1, m_nQuadIndex);	m_pTextureAtlas->getQuads();}
开发者ID:harveyyang,项目名称:DragonBones_Learn,代码行数:13,


示例26: CC_NODE_DRAW_SETUP

void CCSprite3D::draw(){//    m_bDepthTestEnabled = 0 == glIsEnabled(GL_DEPTH_TEST) ? false : true;////    CCDirector::sharedDirector()->setDepthTest(true);//    CC_NODE_DRAW_SETUP();//    getShaderProgram()->use();//    getShaderProgram()->setUniformsForBuiltins();    CCPoint const & origin = ccp(0, 0);    CCPoint const & destination = ccp(100, 100);    ccVertex3F vertices[3] = {//        {origin.x, origin.y, 100},            {destination.x, origin.y, 200},            {destination.x, destination.y, 100},            {origin.x, destination.y, 200}    };    ccTex2F uv[3] = {//        {0.0f, 0.0f},            {1.0f, 0.0f},            {1.0f, 1.0f},            {0.0f, 1.0f}    };    ccColor4B colors[3] = {//        {255, 255, 255, 255},            {128, 128, 128, 128},            {128, 128, 128, 128},            {255, 255, 255, 255}    };    ccGLBindTexture2D(mCustSkin->getName());    ccGLEnableVertexAttribs( kCCVertexAttribFlag_PosColorTex );    glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, 0, vertices);    glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, 0, uv);    glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, colors);    glDrawArrays(GL_TRIANGLES, 0, 3);    CHECK_GL_ERROR_DEBUG();    CC_INCREMENT_GL_DRAWS(1);//    m_pModel->draw();//    static unsigned int uiStartFrame = 0, uiEndFrame = 182;//    static float fAnimSpeed = 16.5f;//   ((CCModelMd2*)m_pModel)->animate(fAnimSpeed, uiStartFrame, uiEndFrame, true);//   CCDirector::sharedDirector()->setDepthTest(m_bDepthTestEnabled);}
开发者ID:vedi,项目名称:cocos2d-x,代码行数:53,


示例27: CC_NODE_DRAW_SETUP

void TerrainTest::drawHill(){    CC_NODE_DRAW_SETUP();    GL::bindTexture2D(_stripes->getTexture()->getName());    //    ccGLEnableVertexAttribs(kCCVertexAttribFlag_Position | kCCVertexAttribFlag_TexCoords);    GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);    ccDrawColor4F(1.0f, 1.0f, 1.0f, 1.0f);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0, _hillVertices);    glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, _hillTexCoords);        glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)_nHillVertices);    }
开发者ID:CludeX,项目名称:hill-climb-race,代码行数:13,


示例28: CC_NODE_DRAW_SETUP

void ShaderNode::draw(Renderer *renderer, const Mat4& transform, uint32_t flags){    _customCommand.init(_globalZOrder);    _customCommand.func = [=]() {        CC_NODE_DRAW_SETUP();        GL::bindTexture2D(_texture->getName());        GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);        glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, 0,  &_vertices[0]);        glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, 0, &_texCoords[0]);        glDrawArrays(GL_TRIANGLE_STRIP, 0, (int)_vertices.size());    };    Director::getInstance()->getRenderer()->addCommand(&_customCommand);}
开发者ID:giangchau92,项目名称:Cocos2d-x-Effect,代码行数:13,


示例29: CC_PROFILER_START_CATEGORY

/** * 绘制 */void MapCoordLine::draw(void){	CC_PROFILER_START_CATEGORY(kCCProfilerCategorySprite, "CCSprite - draw");	CCAssert(!m_pobBatchNode, "If CCSprite is being rendered by CCSpriteBatchNode, CCSprite#draw SHOULD NOT be called");	CC_NODE_DRAW_SETUP();	ccGLBlendFunc( m_sBlendFunc.src, m_sBlendFunc.dst );	if (m_pobTexture != NULL)	{		ccGLBindTexture2D( m_pobTexture->getName() );	}	else	{		ccGLBindTexture2D(0);	}	//	// Attributes	//	ccGLEnableVertexAttribs( kCCVertexAttribFlag_PosColorTex );	#define kQuadSize sizeof(m_sQuad.bl)	if (points.size())	{		long offset = (long)&points[0];		// vertex		int diff = offsetof( ccV3F_C4B_T2F, vertices);		glVertexAttribPointer(kCCVertexAttrib_Position, 3, GL_FLOAT, GL_FALSE, kQuadSize, (void*) (offset + diff));		// texCoods		diff = offsetof( ccV3F_C4B_T2F, texCoords);		glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, kQuadSize, (void*)(offset + diff));		// color		diff = offsetof( ccV3F_C4B_T2F, colors);		glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (void*)(offset + diff));		glDrawArrays(GL_LINES, 0, points.size());	}	CHECK_GL_ERROR_DEBUG();	CC_INCREMENT_GL_DRAWS(1);	CC_PROFILER_STOP_CATEGORY(kCCProfilerCategorySprite, "CCSprite - draw");}
开发者ID:coderHsc,项目名称:sygame,代码行数:54,



注:本文中的CC_NODE_DRAW_SETUP函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CC_POINT_PIXELS_TO_POINTS函数代码示例
C++ CC_INCREMENT_GL_DRAWS函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。