我正在为3D模型编写一个导出器,可以用PDF格式查看(即使用PRC格式),目前我正在试图弄清楚如何正确地将法线写入该格式(这并没有真正解释得很好在规范中)。我创建了一些非常简单的模型(在OBJ中),这些模型由几个三角形组成,具有垂直和非垂直法线。但是,当我将PDF添加到PDF中以便在Adobe Reader中查看时,它们看起来是错误的(根据光线如何落在它们上来判断)。
现在我想知道是否有某种工具或调试工具让我拦截数据,因为它是由Adobe呈现的,并以某种方式可视化法线(或至少得到数字)?我想如果我能够真正看到法线的走向(如果它们确实指向了正确的半球)那么它可能会帮助我找到如何正确编码数据。
我在Windows 10上有一个nvidia显卡(GTX 970),Adobe似乎使用DirectX 9,我使用Visual Studio 2012(但我也安装了VS 2015,只是没有将它用于我的项目(但是因为它似乎具有非常高的内存占用量。)
答案 0 :(得分:1)
即使您从Adobe获取vertex buffer
,您也必须知道其格式才能提取normals
。所以对于这样的任务来说似乎太复杂了。
更快的是按颜色猜测法线(假设颜色是normal
和light direction
之间角度的直接比例。)
使用HSV颜色模型:
点数值(V
):
使用这个值我们可以说:
Normal
的正比例。也许其他视觉风格会更好。N6
〜N5
〜N3
。所以我会交换法线N6
和N4
。N4
有不同的颜色(可能值不对)。也许你必须将它们标准化。