游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1879|回复: 4

如何在模型的周围画一条红色的轮廓线

[复制链接]

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
发表于 2006-3-5 06:29:00 | 显示全部楼层 |阅读模式
我想当鼠标指向某个模型的时候,在模型周围画一条红色的轮廓线,以示区别,不知道如何实现,大家指点下, OpenGL的

7

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2006-3-5 17:13:00 | 显示全部楼层

Re: 如何在模型的周围画一条红色的轮廓线

嘿嘿,卡通渲染的勾边算法。

4

主题

43

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2006-3-6 21:04:00 | 显示全部楼层

Re:如何在模型的周围画一条红色的轮廓线

阴影体中有 寻找轮廓边的 方法
这里 你按照 视点当作 光源的位置 视线方向作为 光线方向
找到轮廓边 将所有边 用红色线绘制 就可以了

4

主题

43

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2006-3-6 21:15:00 | 显示全部楼层

Re:如何在模型的周围画一条红色的轮廓线

轮廓边的定义:共享该边的两个三角形一个 面向观察者
另一个则 背向观察者

具体的方法如下 :
先初始化一个线段数组
其中每个线段的定义包括 起止点索引和一个bool变量
数组的大小为模型的多边形数*3就可以了
其中初始时候另bool为false
现在可以 便利模型的所有面 将所有3条边加入数组

现在可以进行第二次便利了
便利对象是已经初始化的数组

每次提取一条线段
  便利模型的多边形
    判断是否包含该线段
     包含则 判断面法线和世线的的dot
      知道 是面向 还是背弃
       。。。。

若共向该线段的两个面 一个面向 一个背向则 标记该线段为 true

现在 可以 用所有为真的线段 绘制了
   


59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-3-7 09:36:00 | 显示全部楼层

Re:如何在模型的周围画一条红色的轮廓线

此为一种方法,还一种就是找到模型的几何中心点乘个缩放矩阵就行了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 19:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表