我是靠谱客的博主 伶俐睫毛,这篇文章主要介绍opengl实现X射线渲染,现在分享给大家,希望可以做个参考。

X射线也就是轮郭线

实现原理:物体表面的法线与入射光线的夹角为90度时,刚好能看到物体的轮郭线

实现效果,不同的计算方式会得到不同的效果




顶点shader

attribute vec3 pos;
attribute vec2 texcoord;
attribute vec3 normal;

uniform mat4 M;
uniform mat4 P;
uniform mat4 V;
uniform mat4 NM;

varying vec3 V_Normal;
varying vec3 V_WorldPos;

void main()
{
	V_Normal=mat3(NM)*normal;//将法线转换到模型空间
	vec4 worldPos=M*vec4(pos,1.0);
	V_WorldPos=worldPos.xyz;
	
	gl_Position=P*V*worldPos;

}
 片元shader

uniform vec3 U_EyePos;//眼睛的位置坐标
varying vec3 V_Normal;//转换到世界

最后

以上就是伶俐睫毛最近收集整理的关于opengl实现X射线渲染的全部内容,更多相关opengl实现X射线渲染内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部