Directx9.0 学习教程3 -图形学之创建点 线 三角形 等

1、首先 介绍点的表示方法

struct CUSTOMVERTEX
{
	float x,y,z;
};

CUSTOMVERTEX Vertices[] =
{
	{-5.0, -5.0, 0.0},
	{ 0.0,  5.0, 0.0},
	{ 5.0, -5.0, 0.0},
	{10.0,  5.0, 0.0},
	{15.0, -5.0, 0.0},
	{20.0,  5.0, 0.0}
};

点的渲染方法--D3DPT_POINTLIST 主要是这个。

点列表

//
// It is assumed that d3dDevice is a valid
// pointer to a IDirect3DDevice9 interface.
//
d3dDevice->DrawPrimitive( D3DPT_POINTLIST, 0, 6 );//表示从0个顶点開始、一共6个

效果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3EzNjExMDYzMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

点比較小、。看不清楚

详细代码能够自己加入在 sdk自带的samples的tutorials 里面。

2、线的表示

把上面的代码改一下就可以

d3dDevice->DrawPrimitive( D3DPT_LINELIST, 0, 3 );

效果:



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3EzNjExMDYzMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

另一种是连线

d3dDevice->DrawPrimitive( D3DPT_LINESTRIP, 0, 5 );

详细效果自己尝试。会发现3个点能组成2条线

3、三角形的表示

三角形有3种 经常使用的是list和strip

以下是strip的效果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3EzNjExMDYzMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3EzNjExMDYzMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

时间: 2024-10-06 14:30:25

Directx9.0 学习教程3 -图形学之创建点 线 三角形 等的相关文章

Directx9.0 学习教程5 光照

光照 1.      首先需要定义这样的顶点结构 struct CUSTOMVERTEX { D3DXVECTOR3position; // 顶点 D3DXVECTOR3normal; // 法向量 }; // Custom flexible vertex format (FVF). #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL) 2. 然后创建一个圆柱体顶点模型 // Create the vertex buffer. if( FA

Directx9.0 学习教程1 - 第一个程序

在图书馆选了N本书,还是觉得直接讲代码的书更适合我,一个完整的列子加上些许注释,比那些一上来就是一大段一大段的文字阐述的教程容易懂的多. 因此我的笔记也开始用这种方式记录. 写在开头:  dx(我对directx简称) dx的版本主要有9 和11这两种系列. API和功能差异还是笔记大的. 但是手头dx9的书笔记齐全. 就开始看dx9 了.而且学习从来都是学习他的思想,尽管可能换版本要换配置环境,或者换api ,但是大概思想是不变的.学了总有好处. 下面是学习这本书的第一个列子. 说白了就是个v

Directx9.0 学习教程2 - 使用DXUT框架

DXUT框架是 samples例子的一个公共框架.非常方便的把很多本来需要复杂.而且重复的操作,都封装了起来. 使用步骤非常简单 C:\Program Files\Microsoft DirectX SDK (June 2010)\Samples\SampleBrowser 在SDK安装目录下面  有一个SampleBrowser文件.打开 然后根据自己的版本,选择如上, EmptyProject工程 然后 InstallProject 自动安装完成后.打开工程.Clean一下工程 ,防止缓存出

Directx9.0 学习教程4 - 坐标系以及变换知识小记

坐标系 左图是左手坐标系    右图是右手坐标系 Direct3d用的是左手坐标系 顶点和法向 光栅化 变换 1世界变换 2观察变换 D3DXMATRIX out; D3DXVECTOR3 eye(2,3,3); D3DXVECTOR3 at(0,0,0); D3DXVECTOR3 up(0,1,0); D3DXMatrixLookAtLH(&out,&eye, &at, &up); 3.投影矩阵 他们的作用是 世界矩阵把 local坐标变为世界坐标 观察矩阵把世界坐标变为

Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea

文章大纲 在xml中声明bean和注入bean 在xml中声明bean和自动注入bean 自动扫描bean和自动注入bean 对自动扫描bean增加约束条件 首次接触spring请参考 Spring 3.0 学习-环境搭建和三种形式访问 1.典型的Spring XML 配置文件表头 <?xml version="1.0" encoding="UTF-8"?><!-- 一般化的Spring XML 配置 --> <beans xmlns=

Bootstrap3.0学习教程十七:JavaScript插件模态框

这篇文章中我们主要来学习一下JavaScipt插件模态框.在学习模态框之前,我们先来了解一下JavaScript插件吧. JavaScript插件概览 插件可以单个引入(使用Bootstrap提供的单个*.js文件),或一次性全部引入(使用bootstrap.js或压缩版的bootstrap.min.js). 不要将两份文件全部引入 bootstrap.js和bootstrap.min.js同样是包含了所有插件.区别是:一个没有压缩,一个进行了压缩. 插件之间的依赖 某些插件和CSS组件依赖于其

Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介

转自:http://www.cnblogs.com/lzrabbit/archive/2012/04/13/2447609.html Quartz.NET 项目地址 http://quartznet.sourceforge.net/ Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介 Quartz.NET 2.0 学习笔记(2) :和1.0的几点不同 Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度 Quartz.NET 2.0 学习笔记(4) :c

Python Flask高级编程之从0到1开发《鱼书》精品项目 学习 教程??

Python Flask高级编程之从0到1开发<鱼书>精品项目 学习教程 一 .安装环境我们使用 flask web框架,并用 sqlalchemy来做数据库映射,并使用 migrate做数据迁移. $ pip install flask $ pip install SQLAlchemy==0.7.9 $ pip install flask-sqlalchemy $ pip install flask-migrate$ pip install sqlalchemy-migrate 二.建立项目

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方