浙江福彩3d走势图
我們來自五湖四海,不為別的,只因有共同的愛好,為中國互聯網發展出一分力!

關于怎么學習API

2013年04月28日03:40 閱讀: 15424 次

      最近很多人在問,我該如何學習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里不支持^_^.

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

分享到: 更多
藍客門戶
©2001-2019 中國藍客聯盟 版權所有.
關于藍客聯盟歷史宗旨章程技術服務聯系我們藍客社區

浙江福彩3d走势图 欢乐生肖是什么 京东彩票入口 重庆时时走势图怎么看 山东体育彩票快乐扑克 广东快乐十分奖金说明 时时开奖号码 湖南福彩网开乐彩开奖 8月7号广东时时结果查询 二分彩怎么玩 11选5彩票倍投计算器