骑砍战团MOD开发(43)-固定渲染管线顶点着色&像素着色

一.材质&着色器&纹理图片

    3D模型(mesh,只包含顶点数据) + 材质(着色器算法+纹理图片+光照参数) ==(渲染管线处理)== 2D平面.

    材质 = 着色器算法 + 纹理图片静态数据 + 光照参数静态数据

    header_operation.py提供接口可动态切换材质:

prop_instance_set_material = 2617  # (prop_instance_set_material, <prop_instance_no>, <sub_mesh_no>, <string_register>),

二.顶点着色(vertex_color)

     顶点颜色在3D模型中定义,着色算法根据vertex_color进行插值运算得到实际结果.着色器算法简单,消耗系统资源较少.常用于同一模型不同时间的表示,如树木颜色,苹果颜色,只需要修改vertex_color即可实现不同类型模型渲染.

    Direct3D中可声明灵活顶点格式

struct vertex {
   int x;
   int y;
   int z;
   int color;
}

三.骑砍战团引擎中顶点着色

    header_operation.py可实现不同军团类型,不同国家军旗颜色,盔甲纹章等颜色切换

cur_item_add_mesh  = 1964  # (cur_item_add_mesh, <mesh_name_string>, [<lod_begin>], [<lod_end>], [<vertex-color>]),

cur_tableau_add_mesh_with_vertex_color  = 1993  # (cur_tableau_add_mesh_with_vertex_color, <mesh_id>, <position>, <value_fixed_point>, <value_fixed_point>, <value>),

cur_tableau_add_mesh_with_scale_and_vertex_color = 2000  # (cur_tableau_add_mesh_with_scale_and_vertex_color, <mesh_id>, <position>, <scale_position>, <value_fixed_point>, <value>),

四.OpenBrf中使用顶点着色

   seleted->color uniform/Tune Colors with HSB可选择HEX顶点颜色

五.像素着色

    通过在3D模型mesh中定义UV坐标,着色器算法根据纹理图片和UV坐标计算出像素颜色,即为像素着色.

    Direct3D中使用FVF格式定义顶点格式:

struct vertex_FVF {
   int x;
   int y;
   int z;
   int u;
   int v;
}

六.OpenBrf中修改纹理着色UV坐标和纹理图片

     <1.修改UV坐标(Selected-Transform texture coords)

     <2.修改纹理图片(修改material-diffuseA)

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸王•吕布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值