[讨论]>>>关于本版今后的技术讨论方向
《C图形专区》已经开版一年了,请允许我代表本版全体版主感谢大家这一年以来对本版的关注和支持!现在版内虽然不算红红火火,但营造了一个较好的学习交流气氛,大家发出的提问帖都能得到答复,各种作品展示帖也都有热情的回帖。总之要谢谢大家捧场,也希望大家能一如继往的支持这个<br>版块!<br><br> 我大致浏览了一下过去这段时间的帖子,发现很多帖子讨论的是Borland的Graphics库,也就是要使用.BGI驱动文件的那个库,有初学者关于它的提问,也有基于它的作品,而且作品中也不乏精品;另外占一定比例的帖子是讨论基于VBE的图形编程,比如自己动手采用VBE实现小型图形库的,或利用现有的图形库(如NEO SDK)完成作品的;再就是交流方法和经验的,比如如何做一个游戏,如何显示一张位图等等;其它还有很多请教帖和作品Show。<br><br> 看过之后我在想,我们讨论交流的东西是不是过于狭隘,就拿比重占的最多的帖子来说,里面讨论的都是Graphics库,而这个库是上世纪八十年代的产物,其年龄可能不比我们自己的年龄小多少。论验证算法,可能还行,但论其实用性,可能就几乎为无了。<br><br> 因此我的个人观点是,我们初学图形编程的时候,是可以从它开始(但我自己当时没有学它,也没有用它写过任何东西),就好像初学C的时候可以从TC开始一样,因为这些都仅仅是工具,只要掌握了最本质的知识,工具永远只是工具,任何一个当前最好的工具在二三十年后都可能过时,掌握本质才能不被工具左右,甚至可以自己制造工具。但反过来说,工欲善其事,必先利其器,一个简易的计算器终归只是计算器,而不是一台电脑。所以大家在挑选工具的时候,可以选择更好和更称手的,在高分辨率和高色深大行其道的今天,一个Graphics真的不太够用了,更多更好的工具等着我们去用:DirectX、SDL、Allegro、OpenGL、MGL…… 更多更有趣的技术等着我们探讨:游戏、3D、GUI、跨平台、底层封装…… 我希望这个版块里今后的技术讨论方向,能够有一个耳目一新的变化——我们研究最本质的方法,但我们使用更锋利的兵器!<br><br> 上面这段是我自己的个人看法,我不知道大家怎么看这个问题,因为开一个讨论帖,讨论时限一个月,讨论的话题就是我们今后的技术交流方向。我先给出几种预定的看法:<br>1、使用利器,研究本质;(这也是我本人的看法,我保证Allegro和Graphics一样的易学易用,并且它是跨平台的,你可以轻而易举的把你的作品变成Win窗口程序)<br>2、研究本质,与工具无关;<br>3、避免高门槛,初学者先从简单工具入手;<br>4、想学,但没有资料参考;<br>5、其它不同的想法。<br><br> 欢迎大家一起参与这个讨论,写下自己的想法、建议或者疑问![align=right][color=#000066][此贴子已经被作者于2007-8-1 13:44:59编辑过][/color][/align]
<P>几乎100%的64K3D都是用DirectX,虽然DirectX执行速度比OpenGL慢,但显卡的硬集成可以解决,新的显卡总是先适应新的DirectX,所以我觉的与其找不到OpenGL易懂详细的资料,毋宁学习DirectX</P> OopenGL之前很长一段时间升级几近停止,DX却平均每年升级一次。不过现在OpenGL又开始活跃进来了。我认为在WINDOWS下,DX的确要好用些,但在别的平台OpenGL还是不可替代的。其实像Irrlicht这类引擎,都同时封装了DX和OpenGL的,让用户可以在运行时选择底层接口。 支持OpenGL,[em01]<BR>不过我认为应该增加DX的内容,Graphics实在是太老了,之所以现在有这么多人问Graphics的问题,是因为大学的教材是Graphics的[em03] <DIV class=quote><B>以下是引用<U>星星鱼虾蟹</U>在2007-8-2 15:19:22的发言:</B><BR>[em07]其实我最想学Opengl的啦,只是很少人讨论这方面的内容,自己也无从入手</DIV>
<p>没有人问OpenGL的问题,我也无从下手啊 <P>对啊,OpenGL方面的问题大家可以和starrysky版主讨论交流啊,他可是这方面的高手!<BR>对了,starrysky你现在还在华科?</P> 关键是例子,很少看到关于opengl或 dx的简单典型例子,无从学起.其次是软件,graphic几乎是个c编译器就自带,而pengl 和dx都需要自己去找,由于不了解,也不知道版本更新发展情况,感到无所适从.再者是辅助软件,象c语言函数查询器对新手来说是个极品,但里面只有关于graphic的图形函数,看一个图形库的函数不可能一次就记住,自己实践的时候每次都要查说明书实在是太麻烦了,因而graphic成了最方便的(因为在函数查询器里直接查找就可以了).以上是我个人的感觉和意见,说实话,要是关于opengl和dx的资料和graphic样多,谁愿意去研究个老古董而放弃最新的技术呢?所以资料才是王道啊!![em24] 其实我个人不认为DX(特别是其中的D3D)或OpenGL很适合初学者,学习3D图形编程必须要有一定的基础,一开始就直接接触这一块难度比较大。我觉得刚开始还是玩玩2D库,像Allegro或SDL之类的,当对图形编程有了一定的了解之后,可以再学习3D相关的东西。<BR>说到资料,我觉得还是得自己多查多找,Allegro的中文资料虽说版本较低(云风版,针对Allegro 3),但它升级也是向前兼容的,光中文资料中讲到的东西用起来比Graphics强大的多。英语学得好的就更不在话下了,直接看英文文档。其实就算有一个OpenGL版的函数查询器,对刚开始学的朋友来说也没有太大作用,OpenGL核心函数就那么百来个,比Graphics多不到哪去,全部列个中文的说明清单出来看过之后可能还是会不知所云。所以我认为要循序渐进,从2D入手,玩玩Allegro、DDraw等,资料也是人边做边总结出来的,可以很中肯的说,网上关于DDraw的中文资料绝不会比Graphics的少。<BR>当然,也不能光说不做,我会在我的主页里陆续加上这些东西的相关资料的,大家手上有什么好的资料也可以去我的主页注册会员上传,或是直接给我代传:<a href="mailto:dongkai329@yahoo.com.cn" target="_blank" >dongkai329@yahoo.com.cn</A>中文尤佳 呵呵,将苍穹老大的主页地址收了,一定常去学习[em01] 比较喜欢OpenGL[em05] <P>我希望以后论坛的发展方向有两个:图形应用编程和图形底层研究。图形应用编程就是要求的OpenGL和DX之类的,图形底层研究就是这些第三方图形库它们的原理,实现。Graphics是很老,但是它对研究原理是非常合适的。OpenGL和DX和它的原理差不多,只是现在的硬件厂商对它们提供了硬件支持,免掉了某些软件负荷,运行起来更快,更流畅。我一直想问个问题:Graphics的BGI是怎么进图形库的?它的兼容性很好,我用它进图形模式还没有出过问题,都能进去。而自己写的遵循VBE3的程序就不行了,有些电脑根本进不去,黑糊糊的一个屏幕。</P> [attach]25321[/attach]<br>……上接图片中的文字:<br>VBE的子功能设置到0x105号图形模式,而这个模式分辨率很高,15寸老显示器可能上不去,就算是17寸以上的显示器,那刷新率呢?过高或过低的刷新率都会导致显示器黑屏,并可能显示“……超出显示范围”类似的字样,这种情况在Windows或LINUX下也都可能出现,如果不是液晶显示器,你可以调一个很高的分辨率比如1600X1200,并把刷新率调到120HZ,点击应用你很可能会黑屏并看到类似超出显示范围的文字[注:这种情况在Windows XP下可能不好重现,因为现在的Win将显卡支持的分辨率和相应的刷新率用下拉列表的形式给出了,一般不会在里面给出支持不了的选项,但在LINUX下手动改显卡的config文件是很好重现这个黑屏现象的,所以显示器黑屏实为正常现象,这是一种自我保护,如果显示器不管自身的能力,而一味的满足你的设置,很可能会烧掉,比如你让它的刷新率为0!]<br>所以说,不能怪VESA的VBE,要怪我们没有按他标准文档的方法去实现,如果我们正确的算出了CRCT值,并在设置分辨率之前查询显示设备能支持的分辨率和刷新率,再先设置正确的刷新率,然后设置分辨率,就不会出现问题。<br><br>楼上的建议很好,我也认为我们可以走应用和原理两条路子,通过应用了解原理,通过原理实现应用,别人能做到的,我们也能做到。<br><br>另:最近系统不太稳定,IE经常异常当掉,已经打了很多字又不甘浪费,所以在提示IE要退出时抢着将前面录入的截了个图,请大家就着图片一起看,不好意思~~
[align=right][color=#000066][此贴子已经被作者于2007-8-4 13:16:01编辑过][/color][/align]
Graphics的BGI是怎么进图形库的?有人知道不? BGI是Borland的设备无关驱动啊,什么怎么进入图形库?看不明白 我希望首先把TC++弄熟再说,至少要在MSDOS下编写出非常漂亮的界面后,再谈论先把DX或者OP <P>可TC也不是DOS下的唯一选择啊,更不是最佳的选择。DJGPP和Watcom不是更好吗。希望这篇文章对你有用:<BR><a href="http://bbs.bc-cn.net/viewthread.php?tid=160172" target="_blank" >http://bbs.bc-cn.net/viewthread.php?tid=160172</A></P> 我现在还在华科,就要大四了。<BR>12楼说的有理,过几天我去找几个简单的OpenGL例子来<BR>
