我写了一个小cross-platform raytracer in Swift.目前我被困在点写出生成的图像.我搜索了一些天,现在一个库,但我发现只有以下:
- 使用UIImagePNGRepresentation写入PNG:不,只有iOS
- lodepng-一个轻量级的c++库,只包含两个文件(.c和.h):看起来很有希望,但它不会链接到我的swift程序-非常令人失望
- libpng:完全成熟的png库,这对我的目的来说太多了。
图像输出是用swift编写的初始光线跟踪算法的最后一块砖。如果有人知道如何实现这一点,我将非常感谢。也许有人可以给予有用的建议如何解决这个问题。
另一个选择是找到一个非常简单的图像格式,它要么有一个lib,要么我可以为自己编写一个Swift算法。
1条答案
按热度按时间khbbv19g1#
我会使用netpbm,这是一个普通的格式,然后使用第三方转换器,如ImageMagick或GraphicsMagick将其转换为最终形式。
您可以使用netpbm库,或者自己编写像素。
格式描述为here
一个典型的PPM文件看起来像这样,其中的“P3”魔术数字意味着它是ASCII格式的:
如果您愿意,您可以编写一个“P6”格式的PPM文件,其中的像素是原始字节;