mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
fix for new ShaderGenerator stuff
This commit is contained in:
parent
adabf179e2
commit
e4e8d3e401
@ -62,6 +62,7 @@
|
||||
#include "pStatCollector.h"
|
||||
#include "wdxGraphicsBuffer9.h"
|
||||
#include "config_pgraph.h"
|
||||
#include "shaderGenerator.h"
|
||||
#ifdef HAVE_CG
|
||||
#include "Cg/cgD3D9.h"
|
||||
#endif
|
||||
@ -3247,7 +3248,14 @@ set_state_and_transform(const RenderState *target,
|
||||
|
||||
_target_shader = DCAST(ShaderAttrib, _target_rs->get_attrib_def(ShaderAttrib::get_class_slot()));
|
||||
if (_target_shader->auto_shader()) {
|
||||
_target_shader = _target_rs->get_generated_shader();
|
||||
// If we don't have a generated shader, make sure we have a ShaderGenerator, then generate the shader.
|
||||
if (_target_rs->_generated_shader == NULL) {
|
||||
if (_shader_generator == NULL) {
|
||||
_shader_generator = new ShaderGenerator(this, _scene_setup->get_display_region()->get_window());
|
||||
}
|
||||
const_cast<RenderState*>(_target_rs.p())->_generated_shader = DCAST(ShaderAttrib, _shader_generator->synthesize_shader(_target_rs));
|
||||
}
|
||||
_target_shader = DCAST(ShaderAttrib, _target_rs->_generated_shader);
|
||||
}
|
||||
|
||||
int alpha_test_slot = AlphaTestAttrib::get_class_slot();
|
||||
|
Loading…
x
Reference in New Issue
Block a user