1. Prefácio
O desenho de gráficos Delphi pode ser concluído entre glBegin() e glEnd(). O código do quadro de desenho pode usar o código de inicialização do desenho OpenGL2d em Delphi. Para conteúdo específico, consulte este site //www.VeVB.COm/article. /52141.htm . A parte modificada é o conteúdo da função Draw.
2. Desenhe pontos
Use a função glPointSize para especificar o diâmetro dos pontos rasterizados. O padrão é 1.0, que só funciona em GL_POINTS Estudaremos anti-aliasing e outras funções posteriormente. Use glBegin(GL_POINTS) para dizer ao OpenGL para desenhar pontos. O parâmetro GL_POINTS representa pontos, e existem outros parâmetros, como desenhar linhas GL_LINES, etc. Para obter detalhes, consulte o código-fonte da unidade OpenGL. As funções glBegin() e glEnd() são descritas a seguir:
Protótipo de função:
void glBegin(modo GLenum)
vazio glEnd(vazio)
Descrição do parâmetro:
mode: o tipo de primitivo criado. Podem ser os seguintes valores
GL_POINTS: Processa cada vértice como um ponto. O vértice n define o ponto n e um total de N pontos são desenhados.
GL_LINES: Trata cada vértice como um segmento de linha independente. Um total de n segmentos de linha são definidos entre os vértices 2n-1 e 2n, e um total de N/2 segmentos de linha são desenhados.
GL_LINE_STRIP: Desenhe um conjunto de segmentos de linha conectados em sequência do primeiro vértice ao último vértice. O enésimo e n+1 vértices definem o segmento de linha n.
GL_LINE_LOOP: Desenhe um conjunto de segmentos de linha conectados em sequência do primeiro vértice ao último vértice e, em seguida, o último vértice é conectado ao primeiro vértice. O enésimo e n + 1 vértices definem o segmento de linha n e um total de n linha. segmentos são desenhados.
GL_TRIANGLES: Trate cada vértice como um triângulo independente. Os vértices 3n-2, 3n-1 e 3n definem o n-ésimo triângulo.
GL_TRIANGLE_STRIP: Desenhe um conjunto de triângulos conectados para um número ímpar n, os vértices n, n+1 e n+2 definem o n-ésimo triângulo para um número par n, os vértices n+1, n+2 definem o n-ésimo triângulo; n-ésimo triângulo. Um total de N-2 triângulos é desenhado.
GL_TRIANGLE_FAN: Desenhe um conjunto de triângulos conectados O triângulo é determinado pelo primeiro vértice e os vértices dados a seguir. Os vértices 1, n+1 e n+2 definem o n-ésimo triângulo.
GL_QUADS: Desenha um conjunto separado de quadriláteros composto por quatro vértices. Os vértices 4n-3, 4n-2, 4n-1 e 4n definem o enésimo quadrilátero. Desenhe um total de N/4 quadriláteros
GL_QUAD_STRIP: Desenha um conjunto de quadriláteros conectados. Cada quadrilátero é definido por um par de vértices seguido por um determinado par de vértices. Os vértices 2n-1, 2n, 2n+2 e 2n+1 definem o n-ésimo quadrilátero, e um total de N/2-1 quadriláteros são desenhados.
GL_POLYGON: Desenhe um polígono convexo. Os vértices 1 a n definem este polígono.
Descrição da função:
As funções glBegin e glEnd definem a definição de ponto fixo de um ou mais grupos de primitivas.
O código fonte para implementar pontos de desenho é o seguinte:
procedimento TForm1.Draw;begin // Limpa o buffer glClear(GL_COLOR_BUFFER_BIT ou GL_DEPTH_BUFFER_BIT); // Define o tamanho do ponto, não pode estar entre glBegin e glEnd glPointSize(10); ponto Cor glColor3f(1, 0, 0); Desenhar pontos glVertex2f(50, 50); glVertex2f(0, 1, 0); glVertex2f(100, 50); Troque o conteúdo do buffer duplo, que copiará os gráficos recém-desenhados na tela. fim;
glColor3f() é usado para desenhar a cor do ponto, glVertex2f é usado para desenhar a posição do ponto.
Clique aqui para baixar o código completo