cdc2cf4fd3
FIX: [ #27536 ] GLSL object space normal maps have wrong shading
...
Added object and world space for normal map in GLSL view.
2013-09-20 11:55:43 +00:00
494687908c
BGE: Potential fix for [ #35522 ] Broken game engine compatibility since 2.66a on some ATI cards?
...
Disabling display lists for legacy ATI cards since they don't support display lists well.
Also removing an unused variable from the display list rasterizer.
2013-09-11 23:24:45 +00:00
8ef934c73f
ghash/bli-listbase edits, rename BLI_ghash_pop -> BLI_ghash_popkey (since it takes a key as an arg and isnt popping any element from the hash as you might expect).
...
add BLI_pophead/tail, since getting the first element from a list and removing it is a common task.
2013-08-26 23:37:08 +00:00
bbce51d116
replace hashes with sets where possible.
2013-08-25 20:03:45 +00:00
f3ceee51fa
fix for GPU_update_bmesh_buffers not setting bmesh vertex index values as dirty (could cause errors later).
2013-08-24 11:46:08 +00:00
b9ae749480
Make GPU buffers allocation/freeing safe for threading
...
Code in GPU_buffers_free was already trying to be safe
for threading, by skipping OGL calls there, but in fact
it was still buggy.
Namely, freeing was doing buffers shift in a cycle, and
if two threads will call this function shifting will go
crazy.
Now made it so GPU_buffers_alloc and GPU_buffers_free
are using mutex lock, so they're completely safe for
threading. Same goes to gpu_buffer_setup function.
It required minor functions reshuffle, so there're no
locks happening from locked thread, but it's all very
straightforward change
--
svn merge -r58276:58277 ^/branches/soc-2013-depsgraph_mt
2013-08-19 10:06:05 +00:00
fd7bffa3c5
replace calls to BLI_linklist_append with BLI_linklist_prepend where order us unimportant, since append steps over the whole list each time.
2013-08-16 13:06:40 +00:00
3fbd8abcfd
OpenGL VBO's: free VBO pool before redraw, otherwise this just holds onto memory
...
after objects are deleted until another big object is added. There's no good reason
to do this, or to think that our pool is somehow much faster than using the OpenGL
API to allocate and free buffers.
2013-08-09 19:55:43 +00:00
f7037737f3
BGE fix [ #35472 ] Sun variance shadows does not work in game engine
...
The game engine had depth testing enabled when blurring the shadows which caused the blurring to not work properly.
2013-07-23 00:52:49 +00:00
04ea8c0ee8
remove the pointer from BLI_bitmap's typedef,
...
hides that an arg passed is really an array which may be modified by other functions.
2013-07-22 23:20:48 +00:00
017f09b9d4
BGE fix [ #35195 ] Shadow Only lamps only work with Specular enabled
...
The way we do shadow only doesn't work well with colored shadows, though it does work if you apply enough light to the shadow.
2013-07-19 23:00:42 +00:00
b3ceab896a
add some missing members to opengl debug print, also use a macro to avoid passing each arg twice.
2013-06-30 23:50:17 +00:00
c9add22b5e
opengl debug info, make GPU_state_print() only show values in arrays that are set. (was print 32 values every time)
2013-06-30 23:30:21 +00:00
8245bdca2b
quiet double promotion warning and some style cleanup
2013-06-25 20:52:33 +00:00
bd59bae651
Fix #34909 Texture paint mode does not correctly update when using
...
textures larger than 2048x2048.
Check if texture is over user preference or GPU limit in texture paint
mode and if it is, scale the partial redraw rectangle before uploading
to GPU. This should be faster than rescaling the whole texture.
2013-06-25 13:27:43 +00:00
37f5945188
style cleanup
2013-06-25 10:44:30 +00:00
553dd71efb
Fix GLSL not showing shading properly on the backside of faces. Now it flips
...
the normal towards the viewer, seems to give consistent results with blender
internal, cycles, normal maps, etc.
Started from patch #32761 by Vitor Balbio, but changed it to do normal flipping
earlier so it solves all cases.
2013-06-24 13:46:34 +00:00
4a34d86f32
Fix #35848 : render crash in background mode due to missing G.main.
2013-06-23 13:58:59 +00:00
ee8d353fdd
Fix #35768 : crash in with "free image textures" option and 3D viewport with textured
...
draw mode open. OpenGL texture free needs to happen in the main thread, but it was
freeing a copy of the image datablock. I can't understand how this code ever worked,
probably it never did.
2013-06-15 14:01:16 +00:00
cda5770160
code cleanup: also fix crash in GPU_state_print(). and confine to debug mode builds.
2013-06-13 11:59:28 +00:00
a6b505ef0b
style cleanup
2013-06-06 06:02:46 +00:00
f18fad668f
Fix textured draw mode + dyntopo crash fix to cover more cases.
2013-06-05 15:54:41 +00:00
aa96f0290a
Obsessive Null Checking Compulsion case:
...
Textured draw mode + DynTopo crashed after recent specularity tweak.
2013-06-05 09:10:56 +00:00
4a7f37f6ed
Fix #35602 : VBO + dynamic topology sculpt did not show specularity.
2013-06-04 17:10:57 +00:00
225c5fee6b
move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
...
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
ec8d277c64
BLI_math rename functions:
...
- mult_m4_m4m4 -> mul_m4_m4m4
- mult_m3_m3m4 -> mul_m3_m3m4
these temporary names were used to avoid problems when argument order was switched.
2013-05-26 18:36:25 +00:00
b068563ec8
Fix #35459 : global texture coordinates not working with GLSL shaders. Got broken
...
in shader uniform binding optimizations in revision 55527.
2013-05-22 20:18:17 +00:00
13bde6645b
code cleanup: remove callbacks only added to wrap MEM_freeN
2013-05-21 08:45:10 +00:00
359edc27d3
style cleanup
2013-05-11 01:06:01 +00:00
a9fb183901
rename BLI_ghashIterator_notDone() -> BLI_ghashIterator_done()
...
was renamed fairly recently but other similar iterators not negated
like this, would prefer to keep it as it was
2013-05-08 12:58:11 +00:00
7753d1c49c
Fix #34889 : negative lights not working in glsl view and game engine.
...
Patch #35197 by Tyler Seacrest.
2013-05-03 05:24:01 +00:00
0408684763
avoid per-vertex mask layer lookups for dyntopo.
2013-05-02 06:09:05 +00:00
feeab1ad53
Fix #34997 : when starting the game engine in one window and switching to a second
...
window, the game would stop drawing in the first and mess up the OpenGL state of
the second.
Also fixes glPushAttrib/glPopAttrib getting out of sync in some cases.
2013-04-18 16:28:39 +00:00
d2b14ed4f0
BGE: Adding mipmapping control to bge.render via bge.render.setMipmapping() and bge.render.getMipmapping().
2013-04-14 00:40:24 +00:00
2f9b7410dc
code cleanup: warnings + style
2013-04-13 00:43:49 +00:00
d0beabb642
Add function to query maximum texture size. Also, make texture upload
...
functions aware of this limit.
2013-04-12 17:56:07 +00:00
36094af7a3
Fix #34908 : compressed DDS files did not display properly when their mipmap levels
...
did not go down to 1x1 image size, need to set GL_TEXTURE_MAX_LEVEL then.
2013-04-08 15:39:38 +00:00
966e86cd2d
Fix for [ #34754 ] "Revision 55527 provokes glitchy GLSL shadow map rendering" reported by Alain Ducharme. Per material uniforms and per object uniforms are now better separated.
2013-04-04 03:55:43 +00:00
0aada35e93
Fix #34788 , #34744 : GLSL error, #version line needs to be at the top of the shader
...
and this wasn't the case anymore after recent changes.
2013-04-02 16:37:31 +00:00
e8d532f1dd
style cleanup
2013-03-31 03:28:46 +00:00
d15d78a33a
style cleanup: osl and NULL pointer use, also correct sequencer gap operator id's
2013-03-27 20:27:07 +00:00
2006103a52
OpenGL: Moving the GPU_pass_update_uniforms() call from GPU_material_bind_uniforms() to GPU_material_bind(). This way, material specific uniforms don't need to be resent when sending object specific uniforms. This saves uniform update calls in the BGE where one material is bound and multiple objects can be drawn. This doesn't offer much in the way of performance, but it cleans up our OpenGL usage a bit. One test scene went from 8k OpenGL calls to 4k with just this one change.
2013-03-23 03:11:48 +00:00
9379dcb507
code cleanup: unused defines, shadowing and unintended enum-as-variable.
2013-03-22 14:31:03 +00:00
8655be437d
code cleanup: use bool where values are true/false, for view3d and related functions.
2013-03-20 23:14:18 +00:00
01e9dae3dc
code cleanup
2013-03-18 18:25:05 +00:00
2d21e6521f
Fix: multisample viewport drawing didn't work well with selection or particle
...
brushes, due to issues with color coded drawing or slow/buggy reading from such
a buffer on some systems.
In case multisample is enabled now, it uses an offscreen buffer for such drawing,
which is not multisampled and so should not cause issues. This does mean there is
some extra GPU memory usage when multisample is enabled, and we could optimize
triple buffer to work together here somehow to share buffers, but it's better than
having selection not working.
2013-03-15 19:56:33 +00:00
bcec00dddc
Fix #34649 : texture size limit user preference not working.
2013-03-15 16:16:11 +00:00
962865d19f
fix for 2 errors where the 2d arrays were used as 3d. (out of bounds read).
...
also minor code cleanup.
2013-03-13 18:10:05 +00:00
5ff0daf1ac
Fix #34492 : clipping border not working with GLSL/matcap and Nouveau drivers.
2013-03-13 18:00:13 +00:00
ee3d910f8f
code cleanup: quiet struct gcc warnings, also use more conventional names for bmesh dissolve.
2013-03-12 08:50:02 +00:00