混合.在模板操作之后.代码内容是先一个小三角形,再一个大三角形.这块摆弄得还不麻利,先这样.
// Blending.cpp -- 2013/11/21-20:58
#include "stdafx.h"
#include <GLTools.h>
#include <GLShaderManager.h>
#define FREEGLUT_STATIC
#include <GL/glut.h>
GLBatch smallTriangleBatch;
GLBatch bigTriangleBatch;
GLShaderManager shaderManager;
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
void SetupRC()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f );
shaderManager.InitializeStockShaders();
GLfloat vSmallVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
smallTriangleBatch.Begin(GL_TRIANGLES, 3);
smallTriangleBatch.CopyVertexData3f(vSmallVerts);
smallTriangleBatch.End();
GLfloat vBigVerts[] = { -1.0f, 0.0f, 0.0f,
1.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f };
bigTriangleBatch.Begin(GL_TRIANGLES, 3);
bigTriangleBatch.CopyVertexData3f(vBigVerts);
bigTriangleBatch.End();
glEnable(GL_BLEND);
}
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
// R = Rsrc * Sr㈠ + Rdst * Dr㈡
// G = Gsrc * Sg㈠ + Gdst * Dg㈡
// B = Bsrc * Sb㈠ + Bdst * Db㈡
// A = Asrc * Sa㈢ + Adst * Da㈣
glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD) ;
// ㈠:GL_SRC_ALPHA
// ㈡:GL_DST_ALPHA
// ㈢:GL_SRC_ALPHA
// ㈣:GL_DST_ALPHA
glBlendFuncSeparate(GL_SRC_ALPHA, GL_DST_ALPHA, GL_SRC_ALPHA, GL_DST_ALPHA) ;
GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
smallTriangleBatch.Draw();
GLfloat vGreen[] = {0, 1.0f, 0, 0.5f} ;
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vGreen) ;
bigTriangleBatch.Draw() ;
glutSwapBuffers();
}
int main(int argc, char* argv[])
{
gltSetWorkingDirectory(argv[0]);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(800, 600);
glutCreateWindow("Triangle");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
GLenum err = glewInit();
if (err != GLEW_OK)
{
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
return 1;
}
SetupRC();
glutMainLoop();
return 0;
}白天看搜狐畅游发布了商业化引擎,据说是开源的,希望能开源.界面上看跟unity差不多,其实之前就有预感,应该差不多,还是都这样的,我确实没用过别的引擎,过一段有时间研究一下UE,据说个人用户免费,而且手头也有早期的UE源代码.也不知道国内商业化引擎出现之后会出现怎样的变化,如果畅游能把这一块做好,似乎就会有更少的人去做引擎了,起码小企业不会.渐渐脑袋想的不局限于程序上的事情了.大牛这么多,我要加油啊~

被折叠的 条评论
为什么被折叠?



