如何使用着色器添加色带

时间:2017-02-26 14:56:55

标签: shader metal

这听起来很奇怪。但是我试图复制一个旧的dos 16位游戏。游戏有一些非常粗糙的渐变,有一些漂亮的色带。我想复制那些乐队。

当我实现着色器时,它显然可以非常平滑地渲染渐变。哪个看起来不错但不真实。我想知道如何在片段着色器中伪造这些波段。什么样的算法留下了乐队。

2 个答案:

答案 0 :(得分:4)

您可以尝试“装箱”颜色值。通常RGB的值介于0到255之间(如果使用浮点数,则为0-1,但步长为256步)。尝试将此减少到16步。因此,0到16之间的所有内容都变为0,16到32之间的所有内容都变为16,等等。在代码中它将类似于:models.py class Product(models.Model): ''''fields'''' class Image(models.Model): image = models.ImageField() admin.py from yourapp.models import Product, Images class InlineImage(admin.TabularInline): model = Images class ProductAdmin(admin.ModelAdmin): inlines = [InlineImage] admin.site.register(Product, ProductAdmin)

答案 1 :(得分:0)

您可以尝试使用4444渲染目标,其上应该有可见的条带。

如果它没有提供足够的控制,那么您可以使用RGB值作为带有点过滤的3D纹理的查找。 3D纹理中的条目可用于定义任意有限的调色板。