这门课解决什么问题

很多做工业软件二次开发或企业内部工具的程序员,常会遇到一个痛点:老板要求做一个轻量级的图形查看器或简单的绘图工具,但直接用现成的大型商业 CAD 控件不仅授权贵,而且极其笨重。这门课正是针对这种场景,教你如何用 VB6 结合 OpenGL,从底层搭建一个小型交互式 CAD 系统。它不是教你画几条静态线段就算了,而是解决图形底层渲染、坐标系变换、图元属性管理以及面向对象的图形系统架构问题。如果你在工作中需要处理参数化绘图、自定义图形引擎,或者想弄懂 CAD 软件底层的交互逻辑,这套方案的思路非常直接有效。

适合什么基础与学习建议

这门课不适合零基础。你需要对 VB6 的基本语法和窗体机制有一定了解,同时最好有过调用 Windows API 的经验,因为涉及静态库引用和底层函数交互。资料里包含视频和配套源码,建议先看课程简介和系统设计框架这两块,建立全局观。接着按顺序看 OpenGL 编程部分,尤其是坐标系变换和图元绘制,这是整个图形系统的基石。面向对象编程那几节不能跳过,它用接口和集合类来管理图元,是后续实现交互选择和修改的前提。看视频时务必同步打开配套源码,对照类模块的定义去理解多态在实际工程中是怎么落地的。

学完能独立做什么及资料配合

跟着这套资料走完,你能独立开发一个具备基本交互能力的图形系统。具体来说,你能实现二维线段、多边形、文本的绘制与属性设置,掌握显示列表优化渲染性能,并利用面向对象手法管理多个图元的选中、平移和修改。练习时,先把资料里的静态库初始化跑通,这是最容易卡壳的地方。然后照着视频敲出图元类的基本框架,尝试扩展一个自定义图元,比如带尺寸标注的线段,用来验证自己是否真正吃透了多态和集合类的用法。只要把图元管理和底层渲染这两块吃透,后续扩展三维视角或导出 DXF 文件都有现成的思路可循。


用VB 6结合OpenGL,从无到有开发一个功能较完整的小型交互式CAD系统。

课程目录

*   01 课程简介/

  *   01 源码和PPT下载

  *   02 课程简介.mp4 07:07

*   02 OpenGL编程/

  *   01 vbogl静态库,引用和初始化.mp4 13:49

  *   02 坐标系和坐标变换.mp4 10:42

  *   03 线形图元绘制.mp4 14:15

  *   04 线形图元属性设置.mp4 04:19

  *   05 多边形绘制.mp4 05:27

  *   06 文本绘制.mp4 07:27

  *   07 显示列表.mp4 04:53

  *   08 反走样.mp4 04:05

*   03 面向对象编程/

  *   01 类.mp4 13:46

  *   02 多态 - 用接口实现多态.mp4 11:16

  *   03 集合和集合类.mp4 18:59

*   04 系统设计的基本框架和技术/

  *   01 相关类的设计1.mp4 08:59

  *   02 相关类的设计2.mp4 16:57

  *   03 坐标系统.mp4 11:32

  *   04 相机类.mp4 11:33

  *   05 集合类.mp4 09:01

  *   06 交互绘图技术.mp4 08:48

  *   07 准备工作.mp4 10:07

*   05 基本图元类设计/

  *   01 CPoint类.mp4 21:03

  *   02 CLine类.mp4 10:16

  *   03 CRectangle类.mp4 06:37

  *   04 CCircle类.mp4 07:26

  *   05 CArc类.mp4 19:06

  *   06 CText类.mp4 08:38

*   06 交互绘图类设计/

  *   01 CCommand类.mp4 07:26

  *   02 CCreatePoint类.mp4 08:20

  *   03 CCreateLine类.mp4 07:33

  *   04 CCreateRectangle类.mp4 05:17

  *   05 CCreateCircle类.mp4 04:55

  *   06 CCreateArc类.mp4 03:55

  *   07 CCreateText类.mp4 09:01

*   07 拾取和选择/

  *   01 拾取和选择的概念.mp4 10:52

  *   02 图元的包围矩形和GetBox方法.mp4 16:41

  *   03 图元的拾取算法-Pick方法.mp4 12:43

  *   04 实现图元的拾取-CSelect类.mp4 08:12

  *   05 手柄的拾取.mp4 10:19

  *   06 鼠标单选-CSelect类.mp4 05:37

  *   07 全选、分类选择和放弃选择.mp4 08:18

*   08 图元的编辑/

  *   01 修改图元的属性、删除图元、全部删除.mp4 11:20

*   09 图元变换/

  *   01 图元变换概述.mp4 03:59

  *   02 平移变换 - 图元的Move方法和交互平移CMove类.mp4 09:38

  *   03 平移变换 - 手柄的平移.mp4 07:33

  *   04 平移变换 - 拖拉图元平移.mp4 05:37

  *   05 旋转变换 - 图元绕任意点旋转.mp4 05:06

  *   06 旋转变换 - 图元的Rotate方法和交互旋转CRotate.mp4 07:19

  *   07 镜像变换 - 图元相对于任意直线镜像.mp4 07:44

  *   08 镜像变换 - 图元的Mirror方法和交互镜像CMirror.mp4 06:19

  *   09 比例变换 - 图元的Scale方法和实现比例变换.mp4 05:05

*   10 视图变换/

  *   01 视图变换概述.mp4 11:04

  *   02 画面平移.mp4 11:36

  *   03 画面缩放.mp4 06:35

*   11 撤销和重做/

  *   01 记录画面-图元的Save方法.mp4 14:22

  *   02 撤销和重做.mp4 11:36

*   12 保存和打开/

  *   01 保存/打开.mp4 12:57