Cleaned code somewhat (half the size!) and applied some changes:
- made it compatible with selection flags for new mesh editing (edge/face)
- renamed 'face angles' to 'edge angles' and made it display angles for
2 selected edges too
- removed the confusing convention that always drawed the info if one
of the vertices of edge/face/angle was selected. now it only displays on
minimum of 1 full edge or face selected.
- made it react to "zbuf occluded selection" option (for zbuffered text)
- made it also colorize text for white theme color (TH_TEXT)
On larger meshes this info still draws very confusing. The idea of displaying
the info on 1 vertex selected was probably to show values while grabbing,
although that didnt really work for angles. One idea could be, for transform,
that it draws all lenghts/angles/areas that get changed during transform
All in all, still useful addition tho!
Had moved normalizing the view vector just a couple of lines to much...
causing OSA vectors to be calculated wrong, and image texture to show
much to filtered (nearly invisible)
A series of hide/reveil in editmode didn't result in identical selection
always, except in face mode. current method works in all modes, including
mixed (face+edge for example)
exceeds window (glScissor) size. Apparently zooming in on one single
pixels larger than a window isn't well supported.
- Moved drawing of editmode objects to 2nd loop in drawview.c, this
makes sure draw-extra wire is always visible correctly
This commit replaces the glDrawPixels and rectwrite_part with the very
nice (thanks zr!) glaDrawPixelsSafe() call. Result is:
- 3d window background image displays correctly onto the edges when
zoomed in extreme
- same for UV image window and sequence preview
- preview render now doesnt disappear when left part is outside window
(zr also deserves kick in butt for not doing this himself in NaN days!)
Especially from preview drawing quite some old hacks were deleted. It is
even quite some faster.
Please notify me when it doesnt work on your card... this now is just 100%
according opengl guidelines though :)
Also fixes bug #2100
Object "time" ipo was evaluated before it applied offset for field and
motion blur. Should be after! (ancient one)
in buttons_editing.c: removed sound include file
When using Sequencer for Alpha-Over images, it was assuming "Key" alpha by
default, and converting images to "Premul" (= multiplying RGB with alpha).
This isn't very nice, also because alpha generated by MBlur in Blender
always is of type Premul already.
Solution; make this an option. In the Nkey panel for strips you can set
or disable Premul now. As extra also added the "Filter" and "Mul" options,
as already there for Movie strips. Can easily be extended to more options
for various postprocess effects.
The directory where the last file was saved (in .Blog) wasnt added to the
history menu in the FileWindow when using CTRL+O for example. For
convenience, it now alwyas adds this directory to the end of default
history menu, so you can always jump back while browsing in filewindow.
- removed ugly pointerhack from OSA render (negative indices denoted
pointers). this should solve memory errors when using >1.5 gig mem
- cleaned up usage of zbuffer values. These are signed in Blender, and
treated as unsigned all over, giving confusing code
- fixed incorrect gamma-adding for halos (caused in after xmas commit)
And bugfix #2101; wire render didn't give correct rendering for mist.
This caused by fact wires are 2D pixel lines, and not correctly filled
in faces. Retrieving the 3d coordinate while render cannot use a face-
equation then. Solved by retrieving 3D coordinate based on zbuffer value.
Still todo here: calculating correct texture coordinates for wire-edges
that are no faces.
When loading a file with linked external scene, and that external scene
didnt exist anymore, and that scene was active in the file -> crash!
Render code; changed to use local 'puno' flag for threaded render.
added a casts to:
blender/blenlib/intern/BLI_memarena.c
gameengine/Rasterizer/RAS_TexVert.cpp
Removed unused vars from:
blender/python/api2_2x/vector.c
gameengine/Ketsji/KX_PyMath.cpp gameengine/Ketsji/KX_Scene.cpp
gameengine/Physics/Sumo/Fuzzics/src/SM_Object.cpp
gameengine/Rasterizer/RAS_FramingManager.cpp
gameengine/Rasterizer/RAS_Polygon.cpp
gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
Kent
Alpha for halos was always added, even when "Add" slider was zero. Fixed.
(also; made BROW define BROW16, to distinguish from int version in
BKE_utildefines.h)
For normal maps only:
Slider for "nor" mapping in "Map to" panel allowed values for over 1.0 in
preview render (not for render itself, causing confusement).
the active main window, if that was active before.
We need to track down how to solve this more definite... for example, the
"make active" window command can also pop window to front.
- zbuf; error caused by using unsigned int as counter (while >= 0) in radio
- backbuffer didnt load in initrender (was removed from sky render)
- unitialized variable in envmap.c
It *should* be there, but its a bad-level-include. The bad_level_calls.h
makes it compiling nice, but that wasnt the purpose.
Error is in the winstuff.h in render.h most likely
Render:
- New; support for dual CPU render (SDL thread)
Currently only works with alternating scanlines, but gives excellent
performance. For both normal render as unified implemented.
Note the "mutex" locks on z-transp buffer render and imbuf loads.
- This has been made possible by major cleanups in render code, especially
getting rid of globals (example Tin Tr Tg Tb Ta for textures) or struct
OSA or using Materials or Texture data to write to.
- Made normal render fully 4x32 floats too, and removed all old optimizes
with chars or shorts.
- Made normal render and unified render use same code for sky and halo
render, giving equal (and better) results for halo render. Old render
now also uses PostProcess options (brightness, mul, gamma)
- Added option ("FBuf") in F10 Output Panel, this keeps a 4x32 bits buffer
after render. Using PostProcess menu you will note an immediate re-
display of image too (32 bits RGBA)
- Added "Hue" and "Saturation" sliders to PostProcess options
- Render module is still not having a "nice" API, but amount of dependencies
went down a lot. Next todo: remove abusive "previewrender" code.
The last main global in Render (struct Render) now can be re-used for fully
controlling a render, to allow multiple "instances" of render to open.
- Renderwindow now displays a smal bar on top with the stats, and keeps the
stats after render too. Including "spare" page support.
Not only easier visible that way, but also to remove the awkward code that
was drawing stats in the Info header (extreme slow on some ATIs too)
- Cleaned up blendef.h and BKE_utildefines.h, these two had overlapping
defines.
- I might have forgotten stuff... and will write a nice doc on the architecture!
Dxf reader had 2 crucial erros;
- didnt read files correct with \r\n enters (\n and \r go fine)
- polyline triangles were added as quads with identical first and last
vertex, going terrible wrong on mesh import of 3DS files.