日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenGL小试牛刀第一季

發布時間:2023/12/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL小试牛刀第一季 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果截圖:
代碼展示:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; using SharpGL; namespace Example1
{
??? public partial class FormExample : Form
??? {
??????? public FormExample()
??????? {
??????????? InitializeComponent();
??????????? rbfull.Checked = true;
??????? } /// <summary>
??????? /// 默認繪畫模式為線條
??????? /// </summary>
??????? private uint _model = OpenGL.LINE_LOOP; /// <summary>
??????? /// X軸坐標
??????? /// </summary>
??????? private float _x = 0; /// <summary>
??????? /// Y軸坐標
??????? /// </summary>
??????? private float _y = 0; /// <summary>
??????? /// Z軸坐標
??????? /// </summary>
??????? private float _z = 0; private void openGLControl1_OpenGLDraw(object sender, PaintEventArgs e)
??????? {
??????????? // 創建一個GL對象
??????????? SharpGL.OpenGL gl = this.openGLControl1.OpenGL; gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT);?// 清空屏幕
??????????? gl.LoadIdentity();?????// 重置
??????????? gl.Translate(0.0f, 0.0f, -6.0f);?// 設置坐標,距離屏幕距離為6 gl.Rotate(_x, 1.0f, 0.0f, 0.0f);?// 繞X軸旋轉
??????????? gl.Rotate(_y, 0.0f, 1.0f, 0.0f);?// 繞Y軸旋轉
??????????? gl.Rotate(_z, 0.0f, 0.0f, 1.0f);?// 繞Z軸旋轉 gl.Begin(_model);??????? // 繪制立方體
??????????? gl.Color(0.0f, 1.0f, 0.0f);???// 設置顏色
??????????? //繪制其中一個面
??????????? gl.Vertex(1.0f, 1.0f, -1.0f);??
??????????? gl.Vertex(-1.0f, 1.0f, -1.0f);??
??????????? gl.Vertex(-1.0f, 1.0f, 1.0f);???
??????????? gl.Vertex(1.0f, 1.0f, 1.0f);?? //如下類同
??????????? gl.Color(1.0f, 0.5f, 0.0f);??
??????????? gl.Vertex(1.0f, -1.0f, 1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, 1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, -1.0f);?
??????????? gl.Vertex(1.0f, -1.0f, -1.0f);? gl.Color(1.0f, 0.0f, 0.0f);??
??????????? gl.Vertex(1.0f, 1.0f, 1.0f);?
??????????? gl.Vertex(-1.0f, 1.0f, 1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, 1.0f);?
??????????? gl.Vertex(1.0f, -1.0f, 1.0f);? gl.Color(1.0f, 1.0f, 0.0f);??
??????????? gl.Vertex(1.0f, -1.0f, -1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, -1.0f);?
??????????? gl.Vertex(-1.0f, 1.0f, -1.0f);?
??????????? gl.Vertex(1.0f, 1.0f, -1.0f);? gl.Color(0.0f, 0.0f, 1.0f);??
??????????? gl.Vertex(-1.0f, 1.0f, 1.0f);?
??????????? gl.Vertex(-1.0f, 1.0f, -1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, -1.0f);?
??????????? gl.Vertex(-1.0f, -1.0f, 1.0f);? gl.Color(1.0f, 0.0f, 1.0f);??
??????????? gl.Vertex(1.0f, 1.0f, -1.0f);?
??????????? gl.Vertex(1.0f, 1.0f, 1.0f);?
??????????? gl.Vertex(1.0f, -1.0f, 1.0f);?
??????????? gl.Vertex(1.0f, -1.0f, -1.0f);?
??????????? gl.End();??????// 結束繪制
??????? } private void rbfull_CheckedChanged(object sender, EventArgs e)
??????? {
??????????? _model = OpenGL.QUADS;
??????? } private void rbline_CheckedChanged(object sender, EventArgs e)
??????? {
??????????? _model = OpenGL.LINE_LOOP;
??????? } private void tbX_Scroll(object sender, EventArgs e)
??????? {
??????????? int x = tbX.Value;
??????????? _x = x;
??????????? labX.Text = "X:" + x;
??????? } private void tbY_Scroll(object sender, EventArgs e)
??????? {
??????????? int y = tbY.Value;
??????????? _y = y;
??????????? labY.Text = "Y:" + y;
??????? } private void tbZ_Scroll(object sender, EventArgs e)
??????? {
??????????? int z = tbZ.Value;
??????????? _z = z;
??????????? labZ.Text = "Z:" + z;
??????? } private void btnReset_Click(object sender, EventArgs e)
??????? {
??????????? _x = _y = _z = 0;
??????? }
??? }
}?

轉載于:https://www.cnblogs.com/zzkgis/p/3742299.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OpenGL小试牛刀第一季的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。