| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1430 人关注过本帖
标题:[OpenGL]怎样实现象跑跑卡丁车一样的高亮显示(Cel Shading)?
只看楼主 加入收藏
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[OpenGL]怎样实现象跑跑卡丁车一样的高亮显示(Cel Shading)?
OpenGL怎样实现象跑跑卡丁车一样的高亮显示(Cel Shading)?
搜索更多相关主题的帖子: Shading 高亮 跑跑卡丁车 Cel OpenGL 
2007-09-21 17:51
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 128);

这样就能反射高光.

=×&D o I p R e E n C g T l X&×=
2007-09-21 18:47
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
我问的这么多问题你都一一回答,真的非常感谢!!

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-09-21 18:59
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 

我问的这么多问题你都一一回答,真的非常感谢!!
只是不知道放在那里?或是开启什么GL属性才有用?我直接放到这里还是不行:
void C3DEng::InitOpenGLSetting()
{
glShadeModel(GL_SMOOTH);

// 定义光源的位置坐标
GLfloat light_position[] = {0.0, 0.0, 1.0, 0.0};
glLightfv(GL_LIGHT0, GL_POSITION, light_position);

// 定义环境反射光
GLfloat light_ambient[] = {0.0, 0.0, 0.0, 1.0};
glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);

// 定义漫反射光
GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);

// 定义镜面反射光
GLfloat light_specular[] = {1.0, 1.0, 1.0, 1.0};
glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);

// 定义光模型参数
GLfloat light_model_ambient[] = {0.4f, 0.4f, 0.4f, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, light_model_ambient);
GLfloat local_view[] = {0.0};
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, local_view);

// GL_LIGHTING有效
glEnable(GL_LIGHTING);

// GL_LIGHT0有效
glEnable(GL_LIGHT0);

// 允许深度比较
glEnable(GL_DEPTH_TEST);

// 激活深度比较
glDepthFunc(GL_LESS);

// 设置蓝色背景
glClearColor(0.1f, 0.1f, 0.5f, 0.0f);

// 权衡图像质量与绘制速度
glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE);

glEnable(GL_COLOR_MATERIAL);
//这是我加的,此函数在初始化OpenGL时执行
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 128);

}


天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-09-21 19:11
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

//这是我加的,此函数在初始化OpenGL时执行
GLfloat Specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, Specular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 128.0f);


Sorry! 是我少写了高光参数.如此即可!

=×&D o I p R e E n C g T l X&×=
2007-09-21 19:44
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-09-22 13:03
快速回复:[OpenGL]怎样实现象跑跑卡丁车一样的高亮显示(Cel Shading)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024520 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved