//Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Tao.OpenGl;
using Tao.Platform.Windows;
namespace ZalivkaOblastiNaPloskosti
{
public partial class Form1 : Form
{
Color color = new Color();
public Form1()
{
InitializeComponent();
simpleOpenGlControl1.InitializeContexts();//инициализация объекта OpenGL
}
private void цветToolStripMenuItem_Click(object sender, EventArgs e)
{
this.colorDialog1.ShowDialog();
color = colorDialog1.Color;
}
private void оПриложенииToolStripMenuItem_Click(object sender, EventArgs e)
{
Form aboutbox = new AboutBox();
aboutbox.Show();
}
private void выходToolStripMenuItem1_Click(object sender, EventArgs e)
{
if ((MessageBox.Show("Вы уверенны, что хотите выйти?", "Системное уведомление", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) == DialogResult.OK)
this.Close();
}
private void simpleOpenGlControl1_Paint()
{
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
Gl.glBegin(Gl.GL_POLYGON); //Начало блока. Рисуем полигон - GL_POLYGON
Gl.glColor3d(1.0, 1.0, 0.0); //Устанавливаем цвет по модели RGB
Gl.glVertex2d(0.0, 0.5); //Координата вершины на плоскости.
Gl.glVertex2d(-0.5, -0.5); //Координата вершины на плоскости
Gl.glVertex2d(0.5, -0.5); //Координата вершины на плоскости
Gl.glEnd(); //Конец блока
Gl.glFlush();
}
private void заливкаToolStripMenuItem_Click(object sender, EventArgs e)
{
Gl.GL_SHADE_MODEL(Gl.GL_FLAT);//установил модель закрашивания(правда, пока не знаю нужно ли это вообще....в red book нашёл)
}
}
}
OpenGL на C#
Моя проблема состоит в том, что я пока не понимаю как залить полигон, выбранным цветом из диалога colorDialog1 и соответственно дописать код для процедуры пока не могу((((. Если кто-нибудь сможет мне объяснить или на край помочь, буду крайне признателен
Вот мой листинг главной формы приложения
Код: