在 C 語言中實現 OpenGL 線條圖

發布 科技 2024-06-24
5個回答
  1. 匿名使用者2024-01-29

    問題應該出在 lz 發布的這一段中。

    LZ 設定為雙快取 GlutinitDisplayMode (glut double|glut_rgb)

    當然,這是glflush,它不會出來。

    GlutSwapBuffers 應在雙快取模式下使用,glflush 應在單快取模式下使用

    應該可以互相出櫃。

  2. 匿名使用者2024-01-28

    一開始預設是用實線模式,所以前面以實線開頭,然後開啟虛線和虛線模式,所以後面是虛線和虛線,OpenGL保留了這個狀態,在glutmainloop之後,重新繪製,並使用虛線和虛線方法,所以前面的直線也是虛線和虛線。

  3. 匿名使用者2024-01-27

    這是繪製空間螺旋的過程,螺旋的方程可以在後面的“高等數學”空間曲線一章中參考。

    你的 glbegin() 是 gl 點,不,它應該是 gl 行

    試試看?

  4. 匿名使用者2024-01-26

    從 lz 的 ** 觀察來看,問題似乎出在視窗工作區 [window client area] 的初始化上,似乎問題不在於 lz 現在發布的 ** 段落,

  5. 匿名使用者2024-01-25

    乙個點的屬性可能只是點的大小,可以通過呼叫void glpointsize(glfloat size)函式來設定,傳入的引數是乙個表示點畫素的浮點數。

    支援此設定抗鋸齒(抗鋸齒),如果您設定了抗鋸齒,此功能也有效。

    線屬性大致有兩種型別,一種是線寬,另一種是樣式。

    設定線寬與設定點大小相同,由void gllinewidth(glfloat width)函式設定,傳入的引數也是浮點數。 還支援抗鋸齒。

    線條造型很有意思,可以使用void gllinestipple(glint factor,glushort pattern)功能進行設定。 第乙個引數是因子,簡單理解為線條樣式的拉伸係數,第二個引數比較有意思,它是乙個 16 位整數,用於描述特定樣式。 1 對應實線,0 對應空格,樣式以這種方式表示。

    這是我畫的虛線,對應的樣式是0x0a0a。 設定樣式時,需要呼叫 glenable(gl line stipple) 函式開啟線型渲染狀態。

    即使是二維平面也分為正面和背面,例如,如果我將順時針方向的點渲染為正面,那麼逆時針渲染的點就是背面。 考慮到這個概念,我們可以在形狀的單側工作,例如用後筆觸填充前部。

    void GLfrontface(Glenum 模式)允許您順時針或逆時針設定圖形的正面和背面(或反向背面)。 void glpolygonmode(glenum face,glenum mode)可以分別針對正面或背面進行不同的渲染。 下面是乙個示例。

    我以順時針和逆時針方式繪製的兩個三角形呈現了不同的結果。

    此外,void gledgeflag( glboolean flag) 函式可以指定邊是否為邊界,如果不是,則可以隱藏。

    透過這顆爛芹菜,我乾脆畫了乙個“二”。

    關於人臉的屬性還有很多。例如,樣式、紋理,甚至霧化效果,讓我們在現代 OpenGL 中討論這個問題。

相關回答
10個回答2024-06-24

我不太明白你的意思,因為我還沒有畫過向量圖,但我可以告訴你: >>>More

4個回答2024-06-24

使用滑鼠事件,控制他的位置在上面。

private void butplan_mousemove(object sender, mouseeventargs e) >>>More

13個回答2024-06-24

conn = "server=yt99;pwd=ytserver99;uid=sa;database=ywdatabase";資料庫連線字元。 >>>More

8個回答2024-06-24

你可以用一維陣列來模擬,也可以自己計算下標,因為不管你定義多少維,在記憶體中都是線性的,比如C儲存在安星中,也有基於列的儲存,比如fortran語言,你定義多維,但是編譯器幫你計算下標, 所以你可以用一維陣列自己模擬,比如用int a[10]模擬int b[5][2],a[0]是b[0][0] a[5]是b[2][1] a[9]是b[4][1] >>>More

5個回答2024-06-24

#include

int main() >>>More