﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-博采众家之长</title><link>http://www.cppblog.com/giant35/</link><description>共同进步</description><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 04:11:34 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 04:11:34 GMT</pubDate><ttl>60</ttl><item><title>asp.net+sqlserver程序调优总结</title><link>http://www.cppblog.com/giant35/archive/2006/12/09/16172.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Sat, 09 Dec 2006 09:26:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/12/09/16172.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/16172.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/12/09/16172.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/16172.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/16172.html</trackback:ping><description><![CDATA[这两天为了解决Service Unavailable 的问题，进行了程序调优总结有以下几点：<br /><br />一、页面执行时间，这一步是非常关键的，能帮助你了解哪些页面没有达到性能要求。<br /><br />二、用好VS.NET 2005的性能调优功能，此功能能将你程序中的运行状态进行非常有效的分析，能很方便的找到程序的问题所在，看出哪里运行次数最多，执行时间最长<br /><br />三、数据库方面可以使用Sqlserver自带的事件探查器或Read80Trace<br /><br />另外尽量少用反射，这东东太耗时间了，同样的功能用Repeater控件DataBind据耗的时间比asp风格式的输出慢几十ms<br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/16172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-12-09 17:26 <a href="http://www.cppblog.com/giant35/archive/2006/12/09/16172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>终于解决了Service Unavailable</title><link>http://www.cppblog.com/giant35/archive/2006/12/08/16137.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Fri, 08 Dec 2006 09:04:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/12/08/16137.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/16137.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/12/08/16137.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/16137.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/16137.html</trackback:ping><description><![CDATA[
		<p>回头看看自己犯了不少错误正确的解决步骤应该是：<br /><br />一、看看页面执行时间是否合理，有没有执行时间特别长的页面。确认程序是正确的<br /><br />二、看看服务器资源是否够用，是否有非常耗资源的程序在服务器运行<br /><br />基本解决这两个问题就能解决了<br /><br />偶就是因为太自信，老觉得自己的程序没问题把重点放在了第二点上，导致走了不少弯路，谨记!<br /><br /></p>
<img src ="http://www.cppblog.com/giant35/aggbug/16137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-12-08 17:04 <a href="http://www.cppblog.com/giant35/archive/2006/12/08/16137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>真郁闷</title><link>http://www.cppblog.com/giant35/archive/2006/12/06/16058.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Wed, 06 Dec 2006 10:24:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/12/06/16058.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/16058.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/12/06/16058.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/16058.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/16058.html</trackback:ping><description><![CDATA[
		<p>这年头想做的偏不让你做<br />不想做的却偏偏让你做<br /><br />一切随缘????<br />缘为何物<br />万事有定数<br /><br /><br />是该随波逐流抑或奋起抗争?????<br />怒!!!<br />人生不如意十之八九<br />就让我把失败转换为前进的动力吧<br />人生掌握在自己手里<br />让那些鼠目寸光的人看看他们自己是多么的弱智<br />让他们后悔去吧<br /><br /></p>
<img src ="http://www.cppblog.com/giant35/aggbug/16058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-12-06 18:24 <a href="http://www.cppblog.com/giant35/archive/2006/12/06/16058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IIS6中配置PHP的一个小问题</title><link>http://www.cppblog.com/giant35/archive/2006/12/05/16002.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Tue, 05 Dec 2006 02:22:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/12/05/16002.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/16002.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/12/05/16002.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/16002.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/16002.html</trackback:ping><description><![CDATA[
		<p>配置完了之后如果运行不了<br />检查下IIS是否允许WEB服务扩展CGI/ISAPI</p>
<img src ="http://www.cppblog.com/giant35/aggbug/16002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-12-05 10:22 <a href="http://www.cppblog.com/giant35/archive/2006/12/05/16002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>魔法方块v0.01发布</title><link>http://www.cppblog.com/giant35/archive/2006/10/26/14165.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Thu, 26 Oct 2006 00:38:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/10/26/14165.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/14165.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/10/26/14165.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/14165.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/14165.html</trackback:ping><description><![CDATA[使用SDL+opengl写的一个简单的游戏<br />此版仅实现了简单的方块移动<br />在Windows及FC Linux下编译运行通过<br /><br />需要SDL开发包<br /><a target="" class="" title="" href="/Files/giant35/Num.zip">源文件点此下载</a><br /><br />计划把它写成一个增强算术运算能力的益智游戏<br /><br /><br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/14165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-10-26 08:38 <a href="http://www.cppblog.com/giant35/archive/2006/10/26/14165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>生于忧患，死于安乐</title><link>http://www.cppblog.com/giant35/archive/2006/10/24/14093.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Tue, 24 Oct 2006 08:47:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/10/24/14093.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/14093.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/10/24/14093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/14093.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/14093.html</trackback:ping><description><![CDATA[自建站以来已N久未曾打理过了<br />不少新的网站已冒出<br />很险啊<br /><br />没有一点优势啊<br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/14093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-10-24 16:47 <a href="http://www.cppblog.com/giant35/archive/2006/10/24/14093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SDL+OpenGL 系列之纹理贴图</title><link>http://www.cppblog.com/giant35/archive/2006/10/17/13788.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Tue, 17 Oct 2006 10:42:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/10/17/13788.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/13788.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/10/17/13788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/13788.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/13788.html</trackback:ping><description><![CDATA[
		<img src="http://www.cppblog.com/images/cppblog_com/giant35/TextureApp2.JPG" alt="TextureApp2.JPG" border="0" height="325" width="606" />
		<br />
		<br />
		<br />
		<a target="" class="" title="" href="/Files/giant35/TextureApp2.zip">点此下载源文件</a>
		<br />
		<br />/*<br />MainApp.hpp<br />*/<br />#ifndef MAINAPP_HPP<br />#define MAINAPP_HPP<br />#include &lt;GL/gl.h&gt;<br />#include &lt;SDL/SDL.h&gt;<br /><br />#define ImageWidth 64<br />#define ImageHeight 64<br /><br />class MainApp<br />{<br />public:<br />    MainApp();<br />    ~MainApp();<br />    void loop();    <br />    void quit();    <br />    <br />private:    <br />    void initGL();<br />    void initTexture();<br />    void makeImage();<br />    void destroyGL();<br />    void onKeyDown(const SDL_Event &amp;event);<br />    void draw();<br />    bool running;<br />    GLubyte Image[ImageWidth][ImageHeight][3];<br />};<br /><br />#endif<br /><br /><br />/*<br />MainApp.cpp<br />*/<br />#include &lt;GL/gl.h&gt;<br />#include &lt;SDL/SDL.h&gt;<br />#include "MainApp.hpp"<br /><br />MainApp::MainApp():running(true)<br />{<br />    initGL();<br />}<br />MainApp::~MainApp()<br />{<br />    destroyGL();<br />}<br /><br />void MainApp::initGL()<br />{<br />    SDL_Init(SDL_INIT_VIDEO);<br />    SDL_SetVideoMode(600,300,16,SDL_OPENGL);<br />    glClearColor(0,0,0,0);<br />    initTexture();<br />}<br /><br />/* 创建纹理 */<br />void MainApp::makeImage(void)<br />{<br />    int i, j, r,g,b;<br />    for (i = 0; i &lt; ImageWidth; i++) <br />    {<br />        for (j = 0; j &lt; ImageHeight; j++) <br />        {<br />           r=(i*j)%255;<br />            g=(4*i)%255;<br />            b=(4*j)%255;<br />            Image[i][j][0] = (GLubyte) r;<br />            Image[i][j][1] = (GLubyte) g;<br />            Image[i][j][2] = (GLubyte) b;<br />        }<br />    }<br />}<br /><br />void MainApp::initTexture()<br />{<br />    makeImage();<br /> /*  定义纹理 */<br />    glTexImage2D(GL_TEXTURE_2D, 0, 3, ImageWidth,<br />    ImageHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,<br />    &amp;Image[0][0][0]);<br />  /*  控制滤波 */<br />    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);<br />   glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);<br />    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);<br />    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);<br />/*  说明映射方式*/<br />   glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);<br />/*  启动纹理映射 */<br />    glEnable(GL_TEXTURE_2D);<br />}<br /><br />void MainApp::destroyGL()<br />{<br />    SDL_Quit();<br />}<br />void MainApp::loop()<br />{<br />    SDL_Event event;<br />    while(running)<br />    {<br />        while(SDL_PollEvent(&amp;event))<br />        {<br />            switch(event.type)<br />            {<br />            case SDL_KEYDOWN:<br />                onKeyDown(event);<br />                break;<br />            }<br />        }<br />        SDL_Delay(50);<br />        draw();<br />    }<br />}<br />void MainApp::quit()<br />{<br />    running=false;<br />}<br />void MainApp::onKeyDown(const SDL_Event &amp;event)<br />{<br />    switch(event.key.keysym.sym)<br />    {<br />    case SDLK_ESCAPE:<br />        quit();<br />    }<br />}<br />void MainApp::draw()<br />{<br />    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);<br />    glBegin(GL_QUADS);<br />        glColor3f(1,1,1);<br />        glTexCoord2f(0,0);glVertex3f(-0.5,-0.5,-0.5);<br />        glTexCoord2f(0,1);glVertex3f(-0.5,0.5,-0.5);<br />        glTexCoord2f(1,1);glVertex3f(0.5,0.5,0.5);<br />        glTexCoord2f(1,0);glVertex3f(0.5,-0.5,0.5);<br />    glEnd();<br />    <br />    SDL_GL_SwapBuffers();<br />}<br /><br />int main(int argc,char* argv[])<br />{<br />    MainApp app;<br />    app.loop();    <br />}<br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/13788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-10-17 18:42 <a href="http://www.cppblog.com/giant35/archive/2006/10/17/13788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>补丁打包机v0.02出炉</title><link>http://www.cppblog.com/giant35/archive/2006/10/17/13780.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Tue, 17 Oct 2006 08:46:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/10/17/13780.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/13780.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/10/17/13780.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/13780.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/13780.html</trackback:ping><description><![CDATA[http://www.cppblog.com/Files/giant35/Baihe.Tools.PatchCreator.rar<br /><a target="" class="" title="点此下载" href="/Files/giant35/Baihe.Tools.PatchCreator.rar">点此下载v0.01源程序</a><br /><a target="" class="" title="" href="/Files/giant35/Baihe.Tools.PatchCreator_U20061018.zip">点此下载v0.02源程序</a><br /><br /><br />开发动机：<br />因web开发更新极为频繁，<br />且每次都不是整站更新而是修改了什么更新什么<br />每次挑选出需要更新的文件且按目录结构组织好颇费一翻事<br />未曾找到类似的工作<br />所以产生了开发此程序的动机<br /><br /><br />目标：<br />补丁打包机<br />实现人工干预+智能规则推导找出所有需要更新的文件<br />并能以多种形式发布（复制/FTP上传/打包……）<br /><br /><br />使用说明：<br />先选择要更新的文件再使用菜单“补丁”-&gt;"发布"  发布<br /><br /><br />有没有人使呢？<br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/13780.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-10-17 16:46 <a href="http://www.cppblog.com/giant35/archive/2006/10/17/13780.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SDL+OpenGL 系列之观察坐标系</title><link>http://www.cppblog.com/giant35/archive/2006/09/28/13122.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Thu, 28 Sep 2006 08:52:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/09/28/13122.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/13122.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/09/28/13122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/13122.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/13122.html</trackback:ping><description><![CDATA[
		<a href="/Files/giant35/ViewCoordinate.zip">点击下载源文件</a>
		<br />
		<br />
		<br />
		<br />/*<br />坐标观察程序，<br />ESC:退出<br />F5:复位<br />LEFT/RIGHT：以绿色Y为轴心旋转<br />UP/DOWN:以红色X为轴心旋转<br />PAGEUP/PAGEDOWN:以蓝色z为轴心旋转<br />*/<br />#include &lt;GL/gl.h&gt;<br />#include &lt;SDL/SDL.h&gt;<br />bool running=true;<br />float x=0.0,y=0.0,z=0.0;<br />enum Target{modelview,projection};<br />Target target=modelview;<br /><br />void initGL()<br />{<br />    SDL_Init(SDL_INIT_VIDEO);<br />    SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY,SDL_DEFAULT_REPEAT_INTERVAL);<br />    SDL_SetVideoMode(600,300,16,SDL_OPENGL);<br />    <br />}<br />void destroyGL()<br />{<br />    SDL_Quit();<br />}<br />void drawCoordinate()<br />{<br />    glBegin(GL_LINES);<br />        glLineWidth(10.0f);<br />        glColor3f(1,0,0);<br />        glVertex3f(0,0,0);<br />        glVertex3f(1,0,0);<br />        glColor3f(0,1,0);<br />        glVertex3f(0,0,0);<br />        glVertex3f(0,1,0);<br />        glColor3f(0,0,1);<br />        glVertex3f(0,0,0);<br />        glVertex3f(0,0,1);<br />    glEnd();<br /><br />}<br />void draw()<br />{<br />    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);<br />    if(target==modelview)<br />    {<br />        glMatrixMode(GL_MODELVIEW);<br />    }<br />    else<br />    {<br />        glMatrixMode(GL_PROJECTION);<br />    }<br />    glLoadIdentity();<br />    glRotatef(x,1,0,0);<br />    glRotatef(y,0,1,0);<br />    glRotatef(z,0,0,1);<br />    glMatrixMode(GL_MODELVIEW);<br />    drawCoordinate();<br />    <br />    SDL_GL_SwapBuffers();<br /><br />}<br />void switchTarget()<br />{<br />    if(((int)target+1)&gt;((int)projection))<br />    {<br />        target=modelview;<br />    }else<br />    {<br />        target=(Target)((int)target+1);<br />    }<br />}<br />void reset()<br />{<br />    x=0;<br />    y=0;<br />    z=0;<br />}<br />void quit()<br />{<br />    running=false;<br />}<br />void onKeyDown(const SDL_Event&amp; event)<br />{<br />    switch(event.key.keysym.sym)<br />    {<br />    case SDLK_ESCAPE:<br />    quit();<br />    break;<br />    case SDLK_TAB:<br />    switchTarget();<br />    break;<br />    case SDLK_F5:<br />    reset();<br />    break;<br />    case SDLK_LEFT:<br />    y+=1;<br />    break;<br />    case SDLK_RIGHT:<br />    y-=1;<br />    break;<br />    case SDLK_UP:<br />    x+=1;<br />    break;<br />    case SDLK_DOWN:<br />    x-=1;<br />    break;<br />    case SDLK_PAGEUP:<br />    z+=1;<br />    break;<br />    case SDLK_PAGEDOWN:<br />    z-=1;<br />    break;<br />    <br />    }<br />}<br />void loop()<br />{<br />    SDL_Event event;<br />    while(running)<br />    {<br />        while(SDL_PollEvent(&amp;event))<br />        {<br />            switch(event.type)<br />            {<br />            case SDL_QUIT:<br />                quit();<br />            break;<br />            case SDL_KEYDOWN:<br />                onKeyDown(event);<br />            break;<br />            }<br />        }<br />        draw();<br />        SDL_Delay(50);<br />    }<br /><br />}<br />int main(int argc,char* argv[])<br />{<br />    initGL();<br />    loop();<br />    destroyGL();    <br />    return 0;<br />}<br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/13122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-09-28 16:52 <a href="http://www.cppblog.com/giant35/archive/2006/09/28/13122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SUSE Linux SDL+OpenGL 系列之旋转彩三角</title><link>http://www.cppblog.com/giant35/archive/2006/09/28/13120.html</link><dc:creator>四海</dc:creator><author>四海</author><pubDate>Thu, 28 Sep 2006 08:46:00 GMT</pubDate><guid>http://www.cppblog.com/giant35/archive/2006/09/28/13120.html</guid><wfw:comment>http://www.cppblog.com/giant35/comments/13120.html</wfw:comment><comments>http://www.cppblog.com/giant35/archive/2006/09/28/13120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/giant35/comments/commentRss/13120.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/giant35/services/trackbacks/13120.html</trackback:ping><description><![CDATA[上一篇中我们绘制了一个彩色的三角型<br />这次我们让它动起来<br /><br />#include &lt;GL/gl.h&gt;<br />#include &lt;SDL/SDL.h&gt;<br />bool running=true;<br />float y=0.0;<br /><br />void initGL()<br />{<br />    SDL_Init(SDL_INIT_VIDEO);<br />    SDL_SetVideoMode(600,300,16,SDL_OPENGL);<br />    <br />}<br />void destroyGL()<br />{<br />    SDL_Quit();<br />}<br />void draw()<br />{<br />    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);<br />    glRotatef(y,0,1,0);<br />    glBegin(GL_TRIANGLES);<br />        glColor3f(1,0,0);<br />        glVertex3f(0,0,0);<br />        glColor3f(0,1,0);<br />        glVertex3f(1,0,0);<br />        glColor3f(0,0,1);<br />        glVertex3f(0,1,0);<br />    glEnd();<br /><br />    SDL_GL_SwapBuffers();<br /><br />}<br />void quit()<br />{<br />    running=false;<br />}<br />void onKeyDown(const SDL_Event&amp; event)<br />{<br />    switch(event.key.keysym.sym)<br />    {<br />    case SDLK_ESCAPE:<br />    quit();<br />    break;<br />    case SDLK_LEFT:<br />    y+=0.1;<br />    break;<br />    case SDLK_RIGHT:<br />    y-=0.1;<br />    break;<br /><br />    <br />    }<br />}<br />void loop()<br />{<br />    SDL_Event event;<br />    while(running)<br />    {<br />        while(SDL_PollEvent(&amp;event))<br />        {<br />            switch(event.type)<br />            {<br />            case SDL_QUIT:<br />                quit();<br />            break;<br />            case SDL_KEYDOWN:<br />                onKeyDown(event);<br />            break;<br />            }<br />        }<br />        draw();<br />        SDL_Delay(50);<br />    }<br /><br />}<br />int main(int argc,char* argv[])<br />{<br />    initGL();<br />    loop();<br />    destroyGL();    <br />    return 0;<br />}<br />#include &lt;GL/gl.h&gt;<br />#include &lt;SDL/SDL.h&gt;<br />bool running=true;<br />float y=0.0;<br /><br />void initGL()<br />{<br />    SDL_Init(SDL_INIT_VIDEO);<br />    SDL_SetVideoMode(600,300,16,SDL_OPENGL);<br />    <br />}<br />void destroyGL()<br />{<br />    SDL_Quit();<br />}<br />void draw()<br />{<br />    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);<br />    glRotatef(y,0,1,0);<br />    glBegin(GL_TRIANGLES);<br />        glColor3f(1,0,0);<br />        glVertex3f(0,0,0);<br />        glColor3f(0,1,0);<br />        glVertex3f(1,0,0);<br />        glColor3f(0,0,1);<br />        glVertex3f(0,1,0);<br />    glEnd();<br /><br />    SDL_GL_SwapBuffers();<br /><br />}<br />void quit()<br />{<br />    running=false;<br />}<br />void onKeyDown(const SDL_Event&amp; event)<br />{<br />    switch(event.key.keysym.sym)<br />    {<br />    case SDLK_ESCAPE:<br />    quit();<br />    break;<br />    case SDLK_LEFT:<br />    y+=0.1;<br />    break;<br />    case SDLK_RIGHT:<br />    y-=0.1;<br />    break;<br /><br />    <br />    }<br />}<br />void loop()<br />{<br />    SDL_Event event;<br />    while(running)<br />    {<br />        while(SDL_PollEvent(&amp;event))<br />        {<br />            switch(event.type)<br />            {<br />            case SDL_QUIT:<br />                quit();<br />            break;<br />            case SDL_KEYDOWN:<br />                onKeyDown(event);<br />            break;<br />            }<br />        }<br />        draw();<br />        SDL_Delay(50);<br />    }<br /><br />}<br />int main(int argc,char* argv[])<br />{<br />    initGL();<br />    loop();<br />    destroyGL();    <br />    return 0;<br />}<br /><br /><img src ="http://www.cppblog.com/giant35/aggbug/13120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/giant35/" target="_blank">四海</a> 2006-09-28 16:46 <a href="http://www.cppblog.com/giant35/archive/2006/09/28/13120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>