自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (4)
  • 收藏
  • 关注

原创 C# SharpGL-Project和UnProject

Project和unProject两个函数的执行结果是完全相反的。  Project是把模型坐标系上的点,经过视图矩阵、模型矩阵、投影矩阵转换到窗口屏幕坐标系上。unProject是把窗口屏幕上的点,经过视图矩阵、模型矩阵、投影矩阵逆转换到模型坐标系上。Project(double objx, double objy, double objz, double[] modelMatrix, double[] projMatrix, int[] viewport, double[] winx, double

2020-08-05 13:53:37 1253 1

原创 C# SharpGL-DrawText平面文字和DrawText3D立体文字

先上平面文字绘制函数:DrawText(int x, int y, float r, float g, float b, string faceName, float fontSize, string text)其中:x,y:是屏幕坐标,及像素坐标;r,g,b:是RGB颜色,范围:0~1f;faceName:字体类型;fontSize:字体大小;text:绘制的内容;需要注意的是:DrawText绘制需要用到屏幕像素坐标,在OpenGL中是3维世界坐标,我们绘制的物体通过视图矩阵、投影矩阵、模

2020-07-20 11:07:15 2254 1

原创 C# SharpGL-Texture纹理

为了是自己绘制的图形或人物更加生动形象,可以采用纹理渲染的方式,通过外部绘图软件绘制素材,通过纹理映射的方式贴在OpenGL绘制的图形上。关于纹理的资料,网上的大神很多,讲解的都很不错,引荐一位:OpenGL学习脚印: 二维纹理映射(2D textures),其理论讲解的很详细,重点关注一下纹理坐标。在此我就不班门弄斧了,下面讲解一下我测试的代码: float[] Light_Position = { 1.5f, -0.5f, -1.0f, 0f }; float[] L

2020-07-20 10:01:53 1181

原创 C# SharpGL-Material材质

在上一节C# SharpGL-Light光源讲了我们身边的几个实际场景与OpenGL一些参数对应关系,其中讲到了反射光的颜色:4、反射的光颜色:我们之所以能够看到不发光的物体,是因为这些不发光的物体能够反射照射在该物体上的光,反射出来的光的颜色=照射在物体上的光的颜色+物体本身的颜色。太阳光是白色,照射在一个红色的物体上,我们人眼看到的物体就是红色的。若光源颜色改为绿色,照射在红色物体上,我们人眼看到的物体颜色是黄色的。注意:物体本身的颜色对应到OpenGL中就是材质参数。在此,详细说明一下Open

2020-07-15 12:10:07 706

原创 C# SharpGL-Light光源

写在最前面的话:光源是OpenGL里非常重要的一部分,内容比较多也比较深,未必能够全部整理的清楚,若有整理不当或需补充的地方,还望各位大虾多多指点。光源在我们身边无处不在,

2020-07-14 17:34:57 1777

原创 C# SharpGL-ClipPlane应用

ClipPlane是指定一个空间裁剪平面,对几何图形进行裁剪,ClipPlane(uint plane, double[] equation):其中,plane是指定的裁剪平面,包括OpenGL.GL_CLIP_PLANE0、GL_CLIP_PLANE1、GL_CLIP_PLANE2、GL_CLIP_PLANE3、GL_CLIP_PLANE4、GL_CLIP_PLANE5 六个。equation是指定的一个裁剪平面,equation主要包含四个参数:1、四个参数依次指向平面方程:equation[0]

2020-07-09 16:41:16 551

原创 C# 使用SharpGL-Viewport应用

Viewport是用来设置当前渲染上下文的视口:Viewport(int x, int y, int width, int height)。其中(x,y)是以像素为单位,指定窗口的左下角位置,width、height是视口矩形的宽度和高度,根据窗口的实时变化重绘窗口。在OpenGL中,窗口坐标都是以左下角为(0,0),向右为X正方向,向上为Y正方向,如下图所示:做一个简单的范例,先绘制一个立方体,立方体的六个面颜色不一样: private void Draw(SharpGL.Open

2020-07-09 14:28:21 957

原创 C# 使用SharpGL-PushMatrix和PopMatrix

PushMatrix和PopMatrix其实就相当于堆栈里入栈和出栈。OpenGL在绘制图形过程中,往往需要一系列的变换(视图变换、模型变换、投影变换、几何变换等)达到想要的视图效果,由于OpenGL是一个很大的状态机,每次变换OpenGL就呈现一种新的状态,为了能够使OpenGL的状态在多次变换后恢复到之前的某个状态,就需要把之前的状态一一记录下来,方便需要时恢复之前的状态,OpenGL的状态记录与恢复的操作,就需要PushMatrix和PopMatrix两个函数。上代码,看效果: p

2020-07-09 12:20:46 1617

原创 C# 使用SharpGL-鼠标滚轮按键平移操作

在上一章节C# 使用SharpGL-Perspective和LookAt中讲到了几何变换,包括:Translate平移、Rotate旋转、Scale缩放,想到了在CAD中经常用到的鼠标平移操作,就像用Translate+鼠标事件做个简单的测试应用。先挖一个坑,后续再新增鼠标拖动旋转和鼠标滚轮缩放应用。一、屏幕像素与OpenGL视野坐标对应关系1、正交投影2、透视投影二、鼠标滚珠事件三、...

2020-07-05 17:20:25 2884

原创 C# 使用SharpGL-Perspective和LookAt

在C# 使用SharpGL-Hello Word代码详解中的Resized函数里,出现了Perspective和LookAt,将Hello Word代码详解中的此部分复制过来,继续讲解里面的内容 private void openGLControl_Resized(object sender, EventArgs e) { // TODO: Set the projection matrix here. // Get the

2020-06-29 11:00:15 1761

原创 C# 使用SharpGL-Begin(BeginMode Mode)&End()说明

SharpGL中Begin与End是成对出现的,一组Begin和End之间是限定一个图元的所有顶点信息,goto到BeginMode可以看到有十种模式可以选择: public enum BeginMode { Points = 0, //单点 Lines = 1, //线 LineLoop = 2, //条带线 LineStrip = 3, //循环线 Triangles = 4, //独立三角形

2020-06-19 10:57:44 838

原创 C# 使用SharpGL-Hello Word代码详解

很多同学在初次使用SharpGL时对Hello Word里的内容一知半解,为了对SharpGL的学习,有必要详细了解一下Hello Word范例中的代码都有什么,大致清楚SharpGL包括哪些块儿,为后续的深入学习做些准备。首先打开上一节创建好的Hello Word工程,也可以重新创建:开发VS->文件->新建项目->SharpGL Windows Forms Application项目若找不到该项目的同学,请出门左转回看第一节C# 使用SharpGL-环境搭建我们先从界面部分开

2020-06-18 10:39:27 1348

原创 C# 使用SharpGL-Hello World

继[环境搭建]后,开始创建第一个项目:Hello World(https://blog.csdn.net/a604708885/article/details/105767288)再次说明两种方式创建SharpGL工程,本片文章以WinForm为例,WPF创建方式一样。一、直接创建SharpGL WinForm AppLication项目引用部分已经自动添加了SharpGL相关引用:此...

2020-04-26 16:26:41 3680

原创 C# 使用SharpGL-环境搭建

网上关于C#使用SharpGL的资料还是比较多的,此篇文章主要是个人在初次接触SharpGL的过程中遇到的一些问题及其参考资料,工大家参考,谢谢!

2020-04-26 14:00:23 1965

SharpGL测试范例

测试范例是本人在学习SharpGL过程中编写的测试范例,从Translate、Rotate、Scale到Light、Viewport、Projection、LookAt、Texture、Drawtext等等,都做了详细的测试和注释说明。 配合本范例可以参考本人整理的程序指导:https://me.csdn.net/a604708885。

2020-08-06

简易CAD文件读取软件

该软件可以直接读取AutoCAD生成的文件,如:DWG文件,DXF文件等,无需安装,无需注册,是一个非常方便、便捷的CAD文件读取小软件

2020-07-12

Socket通讯:服务器和客户端

本资源C#的Socket通讯应用,压缩包中包括两个工程,一个是客户端,一个是服务器,在同台电脑上通讯测试OK,两台电脑间通讯测试OK

2020-07-12

STM32F10x固件库最新版本

STM32F10x固件库最新版本,包括STM32F1X控制器开发所需的所有底层源码,里面有两个文件夹(Inc,src)。

2014-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除