0
我使用opengl爲了創建一個火(粒子)。有了這場火,我想創造一種「光效」。glMaterialfv在一個特定的區域
我使用的功能glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission);
這聽起來不錯,但問題是這個功能點亮所有場景。
我想只是一個特定區域的排放。我怎樣才能做到這一點 ?
我使用opengl爲了創建一個火(粒子)。有了這場火,我想創造一種「光效」。glMaterialfv在一個特定的區域
我使用的功能glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission);
這聽起來不錯,但問題是這個功能點亮所有場景。
我想只是一個特定區域的排放。我怎樣才能做到這一點 ?
設置材質將用於場景中的所有對象。如果你只是想使用它的一個特定區域,用你所使用的命令來設置要如何材料:
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission);
然後畫你的對象使用該材料。 繪製完對象後,將排放改回默認值(如果您閱讀手冊頁或考慮這是(0.0,0.0,0.0,1.0):
GLfloat r_emission[4] = {0.0, 0.0, 0.0, 1.0};
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, r_emission);