mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
if light position is local, treat it as a homogeneous coord and divide by W (see bug 11009)
This commit is contained in:
parent
9e8a961dd7
commit
a8676c45cc
1 changed files with 9 additions and 2 deletions
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.3
|
||||
* Version: 7.0
|
||||
*
|
||||
* Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -1117,6 +1117,13 @@ compute_light_positions( GLcontext *ctx )
|
|||
}
|
||||
light->_VP_inf_spot_attenuation = 1.0;
|
||||
}
|
||||
else {
|
||||
/* positional light w/ homogeneous coordinate, divide by W */
|
||||
GLfloat wInv = 1.0 / light->_Position[3];
|
||||
light->_Position[0] *= wInv;
|
||||
light->_Position[1] *= wInv;
|
||||
light->_Position[2] *= wInv;
|
||||
}
|
||||
|
||||
if (light->_Flags & LIGHT_SPOT) {
|
||||
if (ctx->_NeedEyeCoords) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue