⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trianglepanels.cpp

📁 OpenGL Panel Component for Borland C++ Builder 2006
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include <gl\gl.h>
#include <gl\glu.h>

#include "TrianglePanels.h"
//---------------------------------------------------------------------------
#pragma link "OpenGLPanel"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel1Init(TObject *Sender)
{

 glViewport(0, 0, (GLsizei)OpenGLPanel1->Width,(GLsizei)OpenGLPanel1->Height);
 glLoadIdentity();
 glOrtho(-250.0, 250.0, -250.0, 250.0,1.0f, -1.0f);
 glShadeModel(GL_SMOOTH);
 glClearColor(1.0f,1.0f,1.0f,1.0f);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel1Paint(TObject *Sender)
{
 glPushMatrix();
 glRotatef(rot2,0.0,0.0,1.0);
 glClear(GL_COLOR_BUFFER_BIT);
 glBegin(GL_TRIANGLES);

 glColor3f(1.0f,0.0f,0.0f);
 glVertex3f(0.0f,200.0f,0.0f);

 glColor3f(0.0f,1.0f,0.0f);
 glVertex3f(200.0f,-200.0f,0.0f);

 glColor3f(0.0f,0.0f,1.0f);
 glVertex3f(-200.0f, -200.0f, 0.0f);
 glEnd();
 glPopMatrix();
 glFlush();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel1Resize(TObject *Sender)
{
 glViewport(0, 0,  (GLsizei)OpenGLPanel1->Width,(GLsizei)OpenGLPanel1->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel2Init(TObject *Sender)
{
 glViewport(0, 0, (GLsizei)OpenGLPanel2->Width,(GLsizei)OpenGLPanel2->Height);
 glLoadIdentity();
 glOrtho(-250.0, 250.0, -250.0, 250.0,1.0f, -1.0f);
 glShadeModel(GL_SMOOTH);
 glClearColor(1.0f,1.0f,1.0f,1.0f);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel2Resize(TObject *Sender)
{
glViewport(0, 0,  (GLsizei)OpenGLPanel2->Width,(GLsizei)OpenGLPanel2->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenGLPanel2Paint(TObject *Sender)
{
 glPushMatrix();
 glRotatef(rot2,0.0,0.0,1.0);
  glClear(GL_COLOR_BUFFER_BIT);
 glBegin(GL_TRIANGLES);

 glColor3f(1.0f,0.0f,0.0f);
 glVertex3f(0.0f,200.0f,0.0f);

 glColor3f(0.0f,1.0f,0.0f);
 glVertex3f(200.0f,-200.0f,0.0f);

 glColor3f(0.0f,0.0f,1.0f);
 glVertex3f(-200.0f, -200.0f, 0.0f);
 glEnd();
 glPopMatrix();
 glFlush();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
 OpenGLPanel1->Height=ClientHeight;
 OpenGLPanel2->Height=ClientHeight;
 OpenGLPanel1->Top=0;
 OpenGLPanel2->Top=0;
 OpenGLPanel1->Left=0;
 OpenGLPanel2->Left=ClientWidth/2;
 OpenGLPanel1->Width=ClientWidth/2;
 OpenGLPanel2->Width=ClientWidth/2;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 rot1+=2.0;
 OpenGLPanel1->Repaint();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
rot2-=2.0;
 OpenGLPanel2->Repaint();	
}
//--------------------------------------------------------------------------- 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -