關於怎麼學習API

關於怎麼學習API
2005-02-02 09:21:02  作者:eNet學院 摘編 來源:enet

最近很多人在問,我該如何學習OpenGL?我學完了OpenGL了,該怎麼用?

  我想在回答這些類似的問題以前先和大家談談怎麼學習API的方法,或許談完了,我就不需要回答了。首先,我認爲API是工具,不是本質,OpenGL/Direct3D的本質是圖形學,而不是OpenGL/Direct3D的本身,API的本身只是一些Interface而已.如果你明白圖形學的原理.那麼你很容易這些接口的作用,以及爲什麼要有這些接口的存在.所以,我要說的第一點是:你要學習3D編程,不是學會了OpenGL/Direct3D就可以了。甚至會不會這些API都不是那麼的重要(雖然這麼說,或許很多人不太贊同).最重要的,最根本的是,你要明白這些API背後的圖形學的原理---因爲那纔是根本中的根本.

  下面我來介紹我對API學習的看法.

  我認爲API的學習有兩種方法:一是正向學習.二是反向學習.

  一:正向學習,所謂的正向學習,就是學習API的本身.我覺得這種方法是一種Brute Force行爲.不是很好.我們只要看看API的特性,有那些部分.就可以了。比如學習Direct3D的時候,我們要知道它如何初始化,以及它和操作系統的結合.它在Direct3D8裏引入了VS/PS.最後就是創建一個Direct3D應用的步驟和方法.這些就足夠了。要不然.Direct3D那麼多的函數,每一個都會要了我的命.

  正向學習的第二個作用就是你在熟悉了圖形學和大概瞭解了API後,有空就來看看API的細節,然後思索一下API裏提供的一些特性對你的程序有什麼作用.比如Direct3D裏的Two Side Stencil.OpenGL裏的TextureCombine等。

  二:逆向學習.這是根本的方法,到了這一步,你就可以真正的算是圖形學入門了。這要求你要有一定的圖形學基礎.比如,你現在開始做一個demo.你預計你的demo裏有一堆眩眩的效果,當然你也要明白你的這些眩眩的效果要怎麼實現的.然後你去找API裏對應的功能,我想如果你的想法正常,一般的功能在Direct3D/OpenGL裏應該都會有的.當然你也會碰到你想要的功能在這些API裏沒有,但是這不重要,重要的是你又學到新東西了---這個特性在XX API裏不支持^_^.

  通常我是採用先正向,再逆向,同時再進行正向學習的方法.希望以上的建議,對各位初學者有一定的幫助.

--------------------------------------------------------------------------------------------------------------

雙手贊成作者,如果前幾年不是爲了生計,胡亂的所謂的做程序混飯,也不能熬到現在.....

知道了如何去做,加上現在有時間和精力,就好好的去做吧,真的,作一件事,還不知道爲什麼,實在是不高明,而且

最後不僅僅是不高明,而是沒有飯碗的問題了,挖卡卡卡卡卡卡可卡卡


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章