Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/intern/gpu_material.c
| Show First 20 Lines • Show All 1,443 Lines • ▼ Show 20 Lines | if (ma->mtex[tex_nr]) { | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| void GPU_shadeinput_set(GPUMaterial *mat, Material *ma, GPUShadeInput *shi) | void GPU_shadeinput_set(GPUMaterial *mat, Material *ma, GPUShadeInput *shi) | ||||
| { | { | ||||
| float hard = ma->har; | |||||
| float one = 1.0f; | float one = 1.0f; | ||||
| memset(shi, 0, sizeof(*shi)); | memset(shi, 0, sizeof(*shi)); | ||||
| shi->gpumat = mat; | shi->gpumat = mat; | ||||
| shi->mat = ma; | shi->mat = ma; | ||||
| GPU_link(mat, "set_rgb", GPU_uniform(&ma->r), &shi->rgb); | GPU_link(mat, "set_rgb", GPU_dynamic_uniform(&ma->r, GPU_DYNAMIC_MAT_DIFFRGB, NULL), &shi->rgb); | ||||
| GPU_link(mat, "set_rgb", GPU_uniform(&ma->specr), &shi->specrgb); | GPU_link(mat, "set_rgb", GPU_dynamic_uniform(&ma->specr, GPU_DYNAMIC_MAT_SPECRGB, NULL), &shi->specrgb); | ||||
| GPU_link(mat, "shade_norm", GPU_builtin(GPU_VIEW_NORMAL), &shi->vn); | GPU_link(mat, "shade_norm", GPU_builtin(GPU_VIEW_NORMAL), &shi->vn); | ||||
| if (mat->alpha) | if (mat->alpha) | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->alpha), &shi->alpha); | GPU_link(mat, "set_value", GPU_dynamic_uniform(&ma->alpha, GPU_DYNAMIC_MAT_ALPHA, NULL), &shi->alpha); | ||||
| else | else | ||||
| GPU_link(mat, "set_value", GPU_uniform(&one), &shi->alpha); | GPU_link(mat, "set_value", GPU_uniform(&one), &shi->alpha); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->ref), &shi->refl); | GPU_link(mat, "set_value", GPU_dynamic_uniform(&ma->ref, GPU_DYNAMIC_MAT_REF, NULL), &shi->refl); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->spec), &shi->spec); | GPU_link(mat, "set_value", GPU_dynamic_uniform(&ma->spec, GPU_DYNAMIC_MAT_SPEC, NULL), &shi->spec); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->emit), &shi->emit); | GPU_link(mat, "set_value", GPU_dynamic_uniform(&ma->emit, GPU_DYNAMIC_MAT_EMIT, NULL), &shi->emit); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&hard), &shi->har); | GPU_link(mat, "set_value", GPU_dynamic_uniform((float*)&ma->har, GPU_DYNAMIC_MAT_HARD, NULL), &shi->har); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->amb), &shi->amb); | GPU_link(mat, "set_value", GPU_dynamic_uniform(&ma->amb, GPU_DYNAMIC_MAT_AMB, NULL), &shi->amb); | ||||
| GPU_link(mat, "set_value", GPU_uniform(&ma->spectra), &shi->spectra); | GPU_link(mat, "set_value", GPU_uniform(&ma->spectra), &shi->spectra); | ||||
| GPU_link(mat, "shade_view", GPU_builtin(GPU_VIEW_POSITION), &shi->view); | GPU_link(mat, "shade_view", GPU_builtin(GPU_VIEW_POSITION), &shi->view); | ||||
| GPU_link(mat, "vcol_attribute", GPU_attribute(CD_MCOL, ""), &shi->vcol); | GPU_link(mat, "vcol_attribute", GPU_attribute(CD_MCOL, ""), &shi->vcol); | ||||
| if (GPU_material_do_color_management(mat)) | if (GPU_material_do_color_management(mat)) | ||||
| GPU_link(mat, "srgb_to_linearrgb", shi->vcol, &shi->vcol); | GPU_link(mat, "srgb_to_linearrgb", shi->vcol, &shi->vcol); | ||||
| GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref); | GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 917 Lines • Show Last 20 Lines | |||||