Discuz! Board

标题: [OpenGL]ScreenShake Effects [打印本页]

作者: Jerry小坏    时间: 2017-7-14 16:39
标题: [OpenGL]ScreenShake Effects

  1. qglBindTexture(GL_TEXTURE_2D, pFBO->s_hBackBufferTex);


  2. qglBegin(GL_QUADS);
  3. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.1),gEngfuncs.pfnRandomFloat(0.9, 1.0)); qglVertex3f(0,0,0);
  4. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.9, 1.0),gEngfuncs.pfnRandomFloat(0.9, 1.0)); qglVertex3f(glwidth/2, 0,0);
  5. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.9, 1.0),gEngfuncs.pfnRandomFloat(0.0, 0.1)); qglVertex3f(glwidth/2, glheight/2,0);
  6. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.1),gEngfuncs.pfnRandomFloat(0.0, 0.1)); qglVertex3f(0, glheight/2,0);
  7. qglEnd();

  8.                         
  9. qglBegin(GL_QUADS);
  10. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.3),gEngfuncs.pfnRandomFloat(0.7, 1.0)); qglVertex3f(glwidth/2,0,0);
  11. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.7, 1.0),gEngfuncs.pfnRandomFloat(0.7, 1.0)); qglVertex3f(glwidth, 0,0);
  12. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.7, 1.0),gEngfuncs.pfnRandomFloat(0.0, 0.3)); qglVertex3f(glwidth, glheight/2,0);
  13. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.3),gEngfuncs.pfnRandomFloat(0.0, 0.3)); qglVertex3f(glwidth/2, glheight/2,0);
  14. qglEnd();

  15.                         
  16. qglBegin(GL_QUADS);
  17. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.5),gEngfuncs.pfnRandomFloat(0.5, 1.0)); qglVertex3f(0,glheight/2,0);
  18. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.5, 1.0),gEngfuncs.pfnRandomFloat(0.5, 1.0)); qglVertex3f(glwidth/2, glheight/2,0);
  19. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.5, 1.0),gEngfuncs.pfnRandomFloat(0.0, 0.5)); qglVertex3f(glwidth/2, glheight,0);
  20. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.5),gEngfuncs.pfnRandomFloat(0.0, 0.5)); qglVertex3f(0, glheight,0);
  21. qglEnd();

  22.                         
  23. qglBegin(GL_QUADS);
  24. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.7),gEngfuncs.pfnRandomFloat(0.3, 1.0)); qglVertex3f(glwidth/2,glheight/2,0);
  25. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.3, 1.0),gEngfuncs.pfnRandomFloat(0.3, 1.0)); qglVertex3f(glwidth, glheight/2,0);
  26. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.3, 1.0),gEngfuncs.pfnRandomFloat(0.0, 0.7)); qglVertex3f(glwidth, glheight,0);
  27. qglTexCoord2f(gEngfuncs.pfnRandomFloat(0.0, 0.7),gEngfuncs.pfnRandomFloat(0.0, 0.7)); qglVertex3f(glwidth/2, glheight,0);
  28. qglEnd();

  29.         
  30. qglBegin(GL_QUADS);
  31. qglTexCoord2f(0,1); qglVertex3f(glwidth/2-100, glheight/2-100,0);
  32. qglTexCoord2f(1,1); qglVertex3f(glwidth/2+100, glheight/2-100,0);
  33. qglTexCoord2f(1,0); qglVertex3f(glwidth/2+100, glheight/2+100,0);
  34. qglTexCoord2f(0,0); qglVertex3f(glwidth/2-100, glheight/2+100,0);
  35. qglEnd();
复制代码






欢迎光临 Discuz! Board (https://esfbbs.foxnyx.top/) Powered by Discuz! X3.2