Campbell Barton
8bd7c3fba2
change curve evaluation functions never to modify curve data (ensures thread safety), now initializations has to be done outside evaluation.
2012-08-21 14:43:51 +00:00
Mitchell Stokes
a6d1b955ab
Moving more duplicate code from GPU_create_gl_tex_compressed() and BL_Texture::InitGLCompressedTex() into GPU_Upload_dxt_texture(). This reduces code duplication and ensures that both paths are using the same settings.
2012-08-18 03:32:28 +00:00
Campbell Barton
b96c622015
style cleanup
2012-08-11 22:12:32 +00:00
Campbell Barton
be4ae581ff
simplified data_to_c macro in cmake
2012-08-11 13:32:19 +00:00
Campbell Barton
81272e28a0
generate glsl shaders c files at build time.
2012-08-11 13:01:44 +00:00
Campbell Barton
9ff4fa6671
style cleanup
2012-08-04 12:30:16 +00:00
Brecht Van Lommel
6d8fb7c0e7
Tweak to commit related to non-power-of-two textures, some cards claim to
...
support this but actually don't, so use the function that checks for that.
2012-07-31 15:05:14 +00:00
Mitchell Stokes
7755873771
Fix for [ #27484 ] "Run-time command line options don't work in Multi-texture mode." reported by Josiah Lane (solarlune). The -g nomipmap = 1 option only changed the mipmapping option for bf_gpu, which BL_Texture wasn't checking.
2012-07-29 05:59:03 +00:00
Sergey Sharybin
9c4380383c
Fix #32138 : material trancpareny setting
2012-07-26 08:57:41 +00:00
Mitchell Stokes
37246b3ca1
BGE: Bringing over the dynamic lamp properties fixes from Cucumber (thanks to Daniel Stokes). This means the following KX_LightObject properties now have support when using GLSL materials (in addition to those already supported):
...
* distance
* lin_attenuation
* quad_attenuation
* spotsize
* spotblend
2012-07-23 20:24:35 +00:00
Campbell Barton
32cf7fcdb1
code cleanup: spelling
2012-07-16 23:23:33 +00:00
Mitchell Stokes
831ae18622
Scaling non-power-of-two (NPOT) textures to powers of two is really time consuming and not necessary on graphics cards that can support NPOT textures. So, if the graphics card has NPOT texture support, don't bother scaling. If this patch causes issues, it can always be reverted and applied to Swiss instead.
2012-07-10 19:23:57 +00:00
Campbell Barton
cfb7aee017
style cleanup
2012-07-07 22:51:57 +00:00
Bastien Montagne
4d2a6a8e21
Spellfixes: colour -> color
2012-07-04 12:19:50 +00:00
Mitchell Stokes
7ef55c62f3
A little bit of cleanup for the new DXT code:
...
* Using TRUE/FALSE instead of 1/0
* Checking to make sure GL_EXT_texture_compression_s3tc is supported
* Removing some debug error checking
2012-07-01 02:47:34 +00:00
Campbell Barton
39ca3146ff
fix for some build warnings.
2012-06-30 16:56:23 +00:00
Jason Wilkins
5a859c6ba3
GPU_upload_dxt_texture failed to compile if WITH_DDS was not defined
2012-06-30 10:31:25 +00:00
Mitchell Stokes
436f02ab9c
Finally committing support for compressed textures on the GPU (DDS+DXT). This patch started out as a patch by me, then cleaned up by Kupoman during his work on Cucumber.
...
One important thing to keep in mind when using this feature is that you'll need to flip your textures vertically (both the GIMP and Photoshop DDS tools I've seen have support for this on export). This is a quirk in using a texture format originally made for DirectX/DirectDraw, and flipping the compressed data is a real headache. Another quick fix for this issue is to change the Y value for the Size in the Mapping panel in the Texture properties to -1 (default is 1).
2012-06-30 04:34:34 +00:00
Campbell Barton
a744fed46c
style cleanup
2012-06-20 16:43:48 +00:00
Campbell Barton
f5f25b81e8
style cleanup:
...
also fix for building ghost test and fix double free in one of the tests
2012-06-17 09:58:26 +00:00
Antony Riakiotakis
854502d2e3
Add user preference "GPU Mipmap Generation" under the System/OpenGL
...
subpanel to calculate image mipmapping on the GPU, saving upload and
calculation time. Default is off just in case.
2012-06-11 16:23:10 +00:00
Antony Riakiotakis
68c365e2f0
Index: source/blender/gpu/intern/gpu_draw.c
...
===================================================================
--- source/blender/gpu/intern/gpu_draw.c (revision 47568)
+++ source/blender/gpu/intern/gpu_draw.c (working copy)
@@ -230,11 +230,12 @@
Image *ima, *curima;
int domipmap, linearmipmap;
+ int texpaint; /* store this so that new images created while texture painting won't be set to mipmapped */
int alphablend;
float anisotropic;
MTFace *lasttface;
-} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, 1.f, NULL};
+} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, -1, 1.f, NULL};
/* Mipmap settings */
@@ -256,7 +257,7 @@
static int gpu_get_mipmap(void)
{
- return GTS.domipmap;
+ return GTS.domipmap && !GTS.texpaint;
}
static GLenum gpu_get_mipmap_filter(int mag)
@@ -730,6 +731,8 @@
if (!GTS.domipmap)
return;
+ GTS.texpaint = !mipmap;
+
if (mipmap) {
for (ima=G.main->image.first; ima; ima=ima->id.next) {
if (ima->bindcode) {
2012-06-08 13:06:06 +00:00
Campbell Barton
d5032657ed
style cleanup
2012-06-06 22:38:39 +00:00
Campbell Barton
cb0b3558af
style cleanup
2012-06-05 22:12:17 +00:00
Sergey Sharybin
0adf252c9b
Fix #31593 : Every time I switch between edit and object mode, it crashes
...
Crash was caused by incorrect restoring OpenGL context due to some
weird bit operations used to indicate whether stuff like color arrays
is initialized resulting in some unpredictable results on different
platforms and drivers.
2012-06-05 08:41:53 +00:00
Campbell Barton
5189356d58
style cleanup
2012-06-04 20:11:09 +00:00
Campbell Barton
032d83ecc4
style cleanup: defines with braces
2012-05-27 20:13:59 +00:00
Campbell Barton
57c292daf0
style cleanup
2012-05-25 09:51:53 +00:00
Brecht Van Lommel
19dd66cf3b
3D View: add Backface Culling option, to hide faces when seen from the back side,
...
found in the Display panel.
Patch by Simon Kirk and Irie Shinsuke, refactored to also work for non-mesh objects
and avoid globals.
2012-05-25 09:26:47 +00:00
Campbell Barton
da710b3e14
style cleanup: brace placement/newlines
2012-05-24 16:35:45 +00:00
Campbell Barton
dab1d8e487
style cleanup
2012-05-22 22:03:41 +00:00
Antony Riakiotakis
931146731d
Fix memory leak when deleting all vertices from mesh with certain modifiers (bevel and array among them) and VBO are enabled.
2012-05-22 17:33:58 +00:00
Campbell Barton
72f38b4f09
style cleanup: brace placement.
2012-05-22 06:29:46 +00:00
Brecht Van Lommel
c3e1fce775
Cycles: add Object Info node, with outputs object location, object/material
...
pass index, and a random number unique to the instance of the object.
This can be useful to give some variation to a single material assigned to
multiple instances, either manually controlled through the object index, based
on the object location, or randomized for each instance.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Object_Info
2012-05-21 12:52:28 +00:00
Daniel Stokes
deac41506f
Fix #31511 : GLSL preview is much darker than F12 results
...
A problem caused by Harmony branch code. A value was being set improperly for the GLSL shader.
2012-05-20 21:19:55 +00:00
Campbell Barton
2d2d36fe3b
code cleanup:
...
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
Campbell Barton
af3e348430
code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also replace do prefix with do_ for bool vars.
2012-05-19 13:28:19 +00:00
Brecht Van Lommel
578864180b
Fix related to #31446 : cycles glsl error with empty image texture node.
2012-05-18 13:30:34 +00:00
Campbell Barton
9dd981a440
style cleanup: block comments
2012-05-16 23:37:23 +00:00
Nicholas Bishop
ed33320e3f
Code cleanup: simplify standard GHash creation.
...
Added four new functions as shortcuts to creating GHashes that use the
standard ptr/str/int/pair hash and compare functions.
GHash *BLI_ghash_ptr_new(const char *info);
GHash *BLI_ghash_str_new(const char *info);
GHash *BLI_ghash_int_new(const char *info);
GHash *BLI_ghash_pair_new(const char *info);
Replaced almost all occurrences of BLI_ghash_new() with one of the
above functions.
2012-05-16 00:51:36 +00:00
Campbell Barton
ce17c35240
style cleanup: mainly sculpt/whitespace
2012-05-11 08:05:47 +00:00
Nicholas Bishop
d35d0e38ce
Add mask-drawing support to GPU_Buffers.
...
This is the last commit of the sculpt masking merge. Documentation:
http://wiki.blender.org/index.php/User:Nicholasbishop/PaintMasks
Thanks to Brecht for reviewing!
* For VBO, add color to the VertexBufferFormat structure as three
unsigned bytes. Since mask elements are scalar the three color
components are identical to eachother, but the fixed-function OpenGL
pipeline requires colors to be either three or four components.
* For the same reason, multires VBO drawing now copies into the
VertexBufferFormat format as well.
* Regression: material colors will not show up correctly now, masks
colors are overriding. Not sure how to fix this nicely (would be
much easier to fix if drawing with vertex shaders.)
* Also, masks will only draw PBVH drawing, so only 'solid' drawing
will work correctly with masks.
2012-05-10 20:36:34 +00:00
Nicholas Bishop
3ee0305ebb
Use VertexBufferFormat for multires VBO.
2012-05-10 20:36:24 +00:00
Nicholas Bishop
f751d0f6ae
Replace hardcoded DMGridData structure with CCGElem/CCGKey.
...
* Changes to DerivedMesh interface: DMGridData has been removed,
getGridData() now returns an array of CCGElem pointers. Also added
getGridKey() to initialize a CCGKey (implemented only by
CCGDerivedMesh.)
* PBVH: added BLI_pbvh_get_grid_key().
* A lot of code is affected, but mainly is just replacing
DMGridData.co, DMGridData.no, and sizeof(DMGridData) with the
CCG_*_elem functions, removing the reliance on grid elements of
exactly six floats.
2012-05-10 20:33:09 +00:00
Sergey Sharybin
a2ed2b36f3
Fix for recent changes in glsl
...
smooth seems to be a keyword in glsl and using it as a name for function property caused issues.
2012-05-09 10:14:01 +00:00
Campbell Barton
d20c129a9c
style cleanup: whitespace/operators
2012-05-09 09:24:15 +00:00
Brecht Van Lommel
e6a84eb1b5
Cycles: add light falloff node, with quadratic/linear/constant falloff and a
...
smoothing factor to reduce high values near the light.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Light_Falloff
Note that this was already possible to do manually with the Ray Length, but
this adds a convenient node for it. This commit also makes the mapping node
min/max option work, fixing #31348 .
2012-05-07 20:24:38 +00:00
Campbell Barton
1dccd4c98a
code cleanup: naming - pose/armature/image
...
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05 16:03:57 +00:00
Campbell Barton
299ff91ea1
code cleanup: BKE_scene api naming.
...
also stop numpy from being found in /usr/include with cmake.
2012-05-05 14:33:36 +00:00
Campbell Barton
a731e13043
code cleanup: function naming, use BKE_*type* prefix.
2012-05-05 14:03:12 +00:00