Appearance
unison.renderer_scene — 渲染场景
网格、着色器、材质资源管理的顶级接口。
使用方式
python
from unison import renderer_scene as rsRENDERER 类
渲染场景单例。
python
renderer = rs.RENDERER.get()
renderer.initialize()方法
| 方法 | 说明 |
|---|---|
get() | 获取渲染器单例 |
initialize() | 初始化渲染场景 |
网格 (Mesh)
python
vertices = [
-0.5, -0.5, 0.0, # 位置
0.5, -0.5, 0.0,
0.0, 0.5, 0.0,
]
indices = [0, 1, 2]
mesh = renderer.mesh_create(vertices, indices)
renderer.mesh_free(mesh)| 方法 | 说明 |
|---|---|
mesh_create(vertices, indices) | 创建网格,返回 RID |
mesh_free(rid) | 释放网格 |
着色器 (Shader)
python
# 从文件加载(自动添加 .vert / .frag 后缀)
shader = renderer.shader_load("shaders/pbr")
# 从源码
vert_src = "#version 330 core\n..."
frag_src = "#version 330 core\n..."
shader = renderer.shader_load_from_source(vert_src, frag_src)
renderer.shader_free(shader)| 方法 | 说明 |
|---|---|
shader_load(path) | 从文件加载着色器(支持 VFS 和真实文件系统) |
shader_load_from_source(vert, frag) | 从源码创建着色器 |
shader_free(rid) | 释放着色器 |
材质 (Material)
python
material = renderer.material_create()
renderer.material_set_albedo(material, 1.0, 0.0, 0.0, 1.0) # 红色
renderer.material_set_metallic(material, 0.8)
renderer.material_set_roughness(material, 0.3)
renderer.material_set_emission(material, 0.0, 1.0, 0.0) # 绿色自发光
renderer.material_set_emission_energy(material, 2.0)
renderer.material_free(material)| 方法 | 说明 |
|---|---|
material_create() | 创建材质,返回 RID |
material_set_albedo(rid, r, g, b, a) | 设置反照率颜色 |
material_set_metallic(rid, value) | 设置金属度 (0~1) |
material_set_roughness(rid, value) | 设置粗糙度 (0~1) |
material_set_emission(rid, r, g, b) | 设置自发光颜色 |
material_set_emission_energy(rid, value) | 设置自发光强度 |
material_free(rid) | 释放材质 |
调试
| 方法 | 说明 |
|---|---|
set_debug_draw_mode(mode) | 设置调试绘制模式 |
get_debug_draw_mode() | 获取当前调试绘制模式 |
get_render_info() | 获取 (对象数, 图元数, 绘制调用数) |
EnvironmentSettings
python
env = rs.EnvironmentSettings()
env.tonemap_exposure = 1.0
env.ssao_enabled = True
env.glow_enabled = False
env.glow_intensity = 0.5| 属性 | 类型 | 说明 |
|---|---|---|
tonemap_exposure | float | 色调映射曝光度 |
ssao_enabled | bool | 环境光遮蔽开关 |
glow_enabled | bool | 辉光效果开关 |
glow_intensity | float | 辉光强度 |