湯 穎,熊麗榮,秦緒佳
(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
隨著大數(shù)據(jù)、云計(jì)算和人工智能等新興技術(shù)的飛速發(fā)展, 工程領(lǐng)域面臨前所未有的挑戰(zhàn)和變革。當(dāng)前新一輪產(chǎn)業(yè)革命能否成功的根本在于新興產(chǎn)業(yè)人才培養(yǎng)能否到位。 有專家指出,相對于傳統(tǒng)的工科人才, 未來新興產(chǎn)業(yè)需要的是工程實(shí)踐能力強(qiáng)、創(chuàng)新能力強(qiáng)、具備家國情懷有擔(dān)當(dāng)?shù)母咚刭|(zhì)復(fù)合型“新工科”人才[1]。 為應(yīng)對新興工程領(lǐng)域的發(fā)展需求,推動(dòng)產(chǎn)業(yè)升級(jí)和經(jīng)濟(jì)模式的轉(zhuǎn)變,教育部提出了“新工科”建設(shè)要求,推動(dòng)人才培養(yǎng)模式等方面的改革,鼓勵(lì)高校積極開展相關(guān)專業(yè)的“新工科”研究與實(shí)踐[2-3]。
“新工科”包含與計(jì)算機(jī)科學(xué)與技術(shù)相關(guān)的各專業(yè)。 “計(jì)算機(jī)圖形學(xué)”是計(jì)算機(jī)科學(xué)領(lǐng)域中的一個(gè)重要且實(shí)用的學(xué)科,它是隨著計(jì)算機(jī)硬件特別是圖形顯示設(shè)備的發(fā)展而逐漸產(chǎn)生發(fā)展起來的。在計(jì)算機(jī)中,用圖形表達(dá)各種信息。由于其容量大、直觀方便,更符合人們觀察了解事物運(yùn)動(dòng)規(guī)律的習(xí)慣,因而計(jì)算機(jī)圖形學(xué)目前在工業(yè)、商業(yè)、軍事、教育和影視娛樂等各個(gè)領(lǐng)域得到了廣泛應(yīng)用, 已成為計(jì)算機(jī)科學(xué)中發(fā)展最快、影響最大的學(xué)科之一,并在應(yīng)用中日益顯示出其重要性和不可替代性。 近十年來, 隨著計(jì)算機(jī)圖形處理芯片性能的快速提升,計(jì)算機(jī)圖形學(xué)得到了飛速發(fā)展,與之相關(guān)的計(jì)算機(jī)圖形技術(shù)已經(jīng)成為學(xué)術(shù)界和產(chǎn)業(yè)界爭相研究的熱點(diǎn)。
“新工科”環(huán)境下計(jì)算機(jī)相關(guān)專業(yè)類人才具有兩大特點(diǎn):一是要求很強(qiáng)的工程實(shí)踐能力;二是具備很強(qiáng)的創(chuàng)新研發(fā)能力。 也就是要求培養(yǎng)的人才具備最新產(chǎn)業(yè)技術(shù)方面的開發(fā)能力和科研創(chuàng)新能力[4]。
“計(jì)算機(jī)圖形學(xué)”課程的理論性、實(shí)踐性和綜合性都很強(qiáng),對學(xué)生的程序設(shè)計(jì)與開發(fā)能力、基礎(chǔ)數(shù)理能力和計(jì)算思維能力都有較高的要求。對高校的“計(jì)算機(jī)圖形學(xué)”課程進(jìn)行“新工科”建設(shè)實(shí)踐,特別需要面向“新工科”人才要求培養(yǎng)工程實(shí)踐能力強(qiáng)、創(chuàng)新能力強(qiáng)的高素質(zhì)人才[5-6]。 此外,加強(qiáng)和改進(jìn)大學(xué)生思想政治教育是貫徹落實(shí)“新工科”理念的必然要求,也是提高人才培養(yǎng)質(zhì)量的有力保障。 因此本文探討如何設(shè)計(jì)課程實(shí)驗(yàn)提高學(xué)生動(dòng)手實(shí)踐和創(chuàng)新能力,同時(shí)設(shè)計(jì)課程思政教育培養(yǎng)學(xué)生的家國情懷。通過對“計(jì)算機(jī)圖形學(xué)”課程教學(xué)的改革和實(shí)踐,不僅可增強(qiáng)計(jì)算機(jī)圖形學(xué)相關(guān)人才適應(yīng)產(chǎn)業(yè)升級(jí)的能力,也可以為其他課程與學(xué)科方向的“新工科”建設(shè)提供樣例和思路[7]。
傳統(tǒng)的“計(jì)算機(jī)圖形學(xué)”在培養(yǎng)學(xué)生動(dòng)手實(shí)踐環(huán)節(jié)通常采用固定圖形流水線來設(shè)計(jì)圖形實(shí)驗(yàn),即采用OpenGL1.0(3D 圖形API)來訓(xùn)練學(xué)生底層的圖形編程能力。 隨著圖形處理單元GPU(Graphics Processing Unit)技術(shù)的發(fā)展,現(xiàn)今圖形產(chǎn)業(yè)界和學(xué)術(shù)界已經(jīng)越來越多地采用可編程圖形繪制流水線來進(jìn)行3D 圖形的編程。 同時(shí),隨著機(jī)器學(xué)習(xí)的發(fā)展, 大量的學(xué)習(xí)訓(xùn)練過程需要用到GPU 進(jìn)行并行加速,從而減少訓(xùn)練時(shí)間。 因此在實(shí)驗(yàn)中引入GPU讓學(xué)生基于可編程圖形硬件實(shí)現(xiàn)圖形底層的功能和算法,不僅能提高學(xué)生對于算法的理解,同時(shí)還能培養(yǎng)學(xué)生基于GPU 的編程能力, 使得學(xué)生畢業(yè)后具備產(chǎn)業(yè)技術(shù)開發(fā)或科學(xué)研究上要求的底層圖形硬件編程能力。
GPU 支持高并行計(jì)算, 與支持順序計(jì)算的CPU 相比特別適合于處理具有高度并行結(jié)構(gòu)的圖形數(shù)據(jù)或機(jī)器學(xué)習(xí)算法,被大量應(yīng)用于各種并行計(jì)算應(yīng)用中。圖1 給出了GPU 的流水線結(jié)構(gòu),其中本課程主要學(xué)習(xí)如何使用頂點(diǎn)著色器(vertex shader)和片元著色器(fragment shader)來進(jìn)行編程。 課程實(shí)驗(yàn)主要針對計(jì)算機(jī)圖形學(xué)中的三維幾何變換、三維光照明計(jì)算和紋理映射。其中三維幾何變換實(shí)驗(yàn)主要學(xué)習(xí)基于頂點(diǎn)著色器的編程,三維光照明計(jì)算和紋理映射實(shí)驗(yàn)主要學(xué)習(xí)基于片元著色器的編程。
圖1 可編程GPU 流水線Figure 1 Programmable GPU pipeline
三個(gè)實(shí)驗(yàn)共享一個(gè)實(shí)驗(yàn)場景, 設(shè)置為三個(gè)球體,即太陽、地球和月亮。三維幾何變換實(shí)驗(yàn)實(shí)現(xiàn)在線框圖繪制效果下的自轉(zhuǎn)和公轉(zhuǎn)的層次幾何變換;三維光照明計(jì)算實(shí)驗(yàn)計(jì)算三個(gè)球體的三維實(shí)體光照效果(含漫反射和鏡面反射);紋理映射實(shí)驗(yàn)將太陽、地球和月亮的紋理映射到三個(gè)球體表面,同時(shí)保留光照效果。 上述三個(gè)實(shí)驗(yàn)完成,即實(shí)現(xiàn)了帶有紋理和光照的太陽系星球,同時(shí)支持星系內(nèi)球體的自轉(zhuǎn)和公轉(zhuǎn)運(yùn)動(dòng)。 通過這一個(gè)場景,學(xué)生可以逐步掌握GPU 編程的核心內(nèi)容, 且最終渲染的場景讓學(xué)生很有成就感,培養(yǎng)了3D 圖形編程的興趣。
下面我們介紹下三個(gè)實(shí)驗(yàn)包含的核心內(nèi)容。
實(shí)驗(yàn)要求:要求學(xué)生在Sun_Earth 程序(該程序包含兩個(gè)球體:太陽和地球,地球可以自轉(zhuǎn)和公轉(zhuǎn))的基礎(chǔ)上添加月球,實(shí)現(xiàn)月球的自轉(zhuǎn)和月球繞地球公轉(zhuǎn)的效果。
頂點(diǎn)著色器核心代碼:
實(shí)驗(yàn)要求:在上述三維幾何變換的基礎(chǔ)上實(shí)現(xiàn)三維光照效果。
片元著色器核心代碼:
實(shí)驗(yàn)要求:在上述光照明代碼的基礎(chǔ)上添加紋理映射效果。
片元著色器核心代碼:
上述三個(gè)實(shí)驗(yàn)的結(jié)果如圖2 所示,圖2a)為以幾何線框圖模式繪制的太陽系效果;圖2b)為太陽系的三維光照繪制效果;圖2c)為帶紋理和光照效果的太陽系。
在“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)中需要通過隱性教育融入思政元素[8]。 教師在授課過程中不可能直接向?qū)W生傳授思想政治內(nèi)容,這樣會(huì)顯得生硬且效果不佳。 教師需要對教學(xué)內(nèi)容進(jìn)行分析和挖掘,將思政內(nèi)容自然地融合到專業(yè)課內(nèi)容的講解中,使學(xué)生在學(xué)習(xí)專業(yè)知識(shí)的同時(shí),也自然而然地接受了思想教育。
結(jié)合計(jì)算機(jī)圖形學(xué)的教學(xué)內(nèi)容,下面給出如何在教學(xué)中培養(yǎng)學(xué)生的工匠精神和精益求精做事習(xí)慣的具體教學(xué)案例。
第1 節(jié)給出的基于太陽系幾何變換和繪制的GPU 圖形實(shí)驗(yàn)一共三個(gè),一環(huán)扣一環(huán),后一個(gè)實(shí)驗(yàn)基于前一個(gè)實(shí)驗(yàn)的效果來繼續(xù)做。從圖2 中可以看到,三個(gè)實(shí)驗(yàn)的圖形真實(shí)感隨著幾何、光照和紋理等圖形算法引入而逐步加強(qiáng)。 在此案例中,可以采用啟發(fā)式教學(xué)法,在一開始給出我們最終的目標(biāo)效果,然后在教學(xué)的不同階段讓學(xué)生對比當(dāng)前繪制效果與目標(biāo)效果的差距, 引導(dǎo)學(xué)生回答還需要一步步加上哪些效果才可以達(dá)到最終效果。 這樣可以由淺入深一步步引導(dǎo)學(xué)生學(xué)習(xí)并完成圖形的真實(shí)感繪制,從而也逐步讓學(xué)生感受到“工匠精神”的意義所在,即從最基礎(chǔ)的開始,一步步加入新的內(nèi)容,每步都認(rèn)真踏實(shí)地完成,最終就可以繪制出具有類似星系星體運(yùn)動(dòng)交互效果的真實(shí)感圖形。這個(gè)案例讓學(xué)生明白只有具備踏踏實(shí)實(shí)的“工匠精神”才能實(shí)現(xiàn)有成就感的3D 效果,如果中間某一環(huán)節(jié)馬虎應(yīng)付,后面的效果也會(huì)打折扣,無法實(shí)現(xiàn)理想的繪制效果。
圖2 太陽系繪制和變換實(shí)驗(yàn)效果圖Figure 2 Rendering of the solar system and the effect of the transformation experiment
此外,計(jì)算機(jī)圖形學(xué)中的光照明計(jì)算有基于頂點(diǎn)插值的和基于像素的這兩種不同的計(jì)算方式。前者計(jì)算量較小,但是效果不太好;而后者計(jì)算量大,但是繪制效果好。 如圖3 所示,圖3a)是基于頂點(diǎn)插值的三維繪制效果,圖3b)是基于像素的phong shading 光照效果。
圖3 不同著色方式下的光照明效果對比Figure 3 Comparison of lighting effects under different shading methods
此案例可以采用對比教學(xué)法,先讓學(xué)生實(shí)現(xiàn)基于頂點(diǎn)插值的光照明效果,然后提問這個(gè)效果是不是最好和是不是還可以提升, 通過讓學(xué)生主動(dòng)思考,讓他們從實(shí)例效果中理解基于頂點(diǎn)的光照在幾何不連續(xù)的表面會(huì)產(chǎn)生光照不連續(xù)的效果。然后提問如何生成光照連續(xù)光滑的結(jié)果,在學(xué)生給出各種方案后,引入基于像素的光照明計(jì)算方法。 最后對比這兩種光照明效果,可以發(fā)現(xiàn)后者光照效果比前者有了顯著提升。這個(gè)案例在于激發(fā)學(xué)生養(yǎng)成精益求精的做事習(xí)慣, 不要滿足于眼前已有的效果,要不斷發(fā)現(xiàn)可以提升的空間,并積極思考和給出解決方法。
本文主要討論了“新工科”背景下“計(jì)算機(jī)圖形學(xué)”課程在課內(nèi)實(shí)驗(yàn)和思政教學(xué)方面的設(shè)計(jì)。 首先結(jié)合業(yè)界最新的可編程圖形硬件給出了基于GPU的三個(gè)逐步加強(qiáng)真實(shí)感繪制效果的課程實(shí)驗(yàn),通過基于圖形硬件GPU 的課程實(shí)驗(yàn)可以有效鍛煉學(xué)生圖形硬件的底層開發(fā)能力,讓學(xué)生的技能更好地與業(yè)界的新技術(shù)匹配。 進(jìn)一步,討論了如何在“新工科”的背景下開展隱性思政教育,通過兩個(gè)案例說明如何結(jié)合教學(xué)內(nèi)容向?qū)W生傳授“工匠精神”和“精益求精”的做事習(xí)慣。 上述教學(xué)探索可以有效提升“計(jì)算機(jī)圖形學(xué)”課程的教學(xué)效果,激發(fā)學(xué)生的學(xué)習(xí)熱情和能動(dòng)性,也為高校“新工科”課程建設(shè)提供了有益的經(jīng)驗(yàn)。