» Harmony Phase 2
Updated 21:06 June 17th, 2013
Be thankful, comment
(2445)  3,098

Built with scons + MSVC10 with the following build options:

WITH_BF_QUICKTIME = False
WITH_BF_GAMEENGINE = True
WITH_BF_PLAYER = True
WITH_BF_CYCLES = False
WITH_BF_COLLADA = False
WITH_BF_JACK = False
WITH_BF_SNDFILE = False
WITH_BF_OPENEXR = False
WITH_BF_OPENMP = False
WITH_BF_COMPOSITOR = False
WITH_BF_LIBMV = False
WITH_BF_INTERNATIONAL = False

 

SVN Log:

r57535
Merged revisions 56959-57511 from trunk/blender
---------------------
r56962
Merged revision(s) 56780-56959 from trunk/blender
---------------------
r56780
Merged revisions 56639-56779 from trunk/blender
---------------------
r56744
Fixing a problem with 2D filters being offset in the viewport. Also removing some dead code from RAS_OGLFilterManager.cpp.
---------------------
r56742
Fixing some warnings.
---------------------
r56739
Fixing a bug where default uniform values overwrote cached values.
---------------------
r56738
Fixing a crash that could occur when freeing shaders with uniforms of size 1.
---------------------
r56737
Fixing a crash that could occur when changing shader sources from built in to a different source.
---------------------
r56734
Fixing memory errors caused by recreating the light_map GPUTexture. Adding a way to update the width and height of the texture directly instead of only being able to update them by creating a new GPUTexture. This is a little hackish.
---------------------
r56727
Removing the use of texelFetch from the material shader for better compatibility. This also cleans up some run time warnings from the shader.
---------------------
r56681
Merged revisions 55933-56638 from trunk/blender
---------------------
r56033
Taking care of some warnings with shaders making use of some of the bgl datatypes (Light, Material, TextureInfo).
---------------------
r56000
Merged revisions 55362-55932 from trunk/blender
---------------------
r55853
GPU_shaders now print warnings from compiling, and not just errors.
---------------------
r55713
Missed a small change that should have gone with the last commit.
---------------------
r55710
Switching the depth attachment on the prepass fbo to a normal depth component as depth_stencil was causing problems with point and spot lights on some video cards, and the stencil buffer was not being used.
---------------------
r55612
Moving the sampler out of the Texture struct in gpu_shader_prepass_frag.glsl to be more in line with GLSL specifications.
---------------------
r55524
Making sure that the same texture unit (mostly 0) does not end up bound to two different sampler types for the light shader. This gets sun and hemi lights working again for ATI cards, though spot and point lights still don't seem to work ri...
---------------------
r55434
Being more specific about a couple of matrix pushes to avoid relying on previous state. This helps protect against problems like stack under flows.
---------------------
r55433
The recent merge messed up some scons files. This allows building Harmony with scons again.
---------------------
r55399
Fixing up some more 2D Filter fbo issues (the fbo was never being created and destroyed). Also, now python post draw code (such as bgui) should work again with 2D filters.
---------------------
r55398
Fixing a bug in 2DFilters that made them unusable for any scenes with movement. The 2DFilter was not rendering into its own fbo.
---------------------
r55364
Merged revisions 54858-55361 from trunk/blender
---------------------
r55361
Modifying the prepass shader to make use of the material lib shader.
---------------------
r55350
Fixing a bug that caused normal maps to cause viewport problems. Also making sure that any unused textures are set as disabled for the shader when binding the material struct.
---------------------
r55034
Fixing "Forward Rendring" to "Forward Rendering" in the UI.
---------------------
r55006
Accidentally ended up with some debug code getting committed. This makes sure point lights are rendered correctly with inferred lighting again.
---------------------
r55003
Making sure 2D filters can make use of the depth buffer again, as well as fixing an off by one error that caused the fbos to be rebuilt every frame.
---------------------
r54999
Fixing a bug that could cause problems with relative paths with shaders on Windows
---------------------
r54989
Moving the sampler uniforms out of the light struct to match GLSL specification.
---------------------
r54876
Custom material shaders now also have access to the material struct.
---------------------
r54874
Binding the material struct from the prepass to custom material shaders. This is a little hacky since the rasterizer doesn't know as much as it should about materials.
---------------------
r54873
Face culling appears to be acting up on lights, disabling for now.
---------------------
r54872
Fixing a couple of crashes related to BKE shaders.
---------------------
r54867
Merged revisions 54518-54857 from trunk/blender
---------------------
r54836
Removing some unused defines from GPU_extensions.h.
---------------------
r54832
Inferred lighting shadows now take color and specularity into account.
---------------------
r54831
Adding support for simple and variance shadows to the inferred lighting. The impact of the bias setting does not appear to be one-to-one with the forward rendering and may require further investigation.
---------------------
r54830
Making sure empty custom shaders don't crash blender.
---------------------
r54810
Avoid merging custom material shaders with the built in shaders until the merging process is a little smoother (such as removing duplicate assignments to gl_FragColor).
---------------------
r54652
Making sure full screen lights aren't getting culled out.
---------------------
r54647
The last commit broke consistency in bgl naming scheme. Also making matrix uniforms a little safer with a NULL check in RNA, and removing some dead code.
---------------------
r54646
Lights now render with front face culling to avoid the camera clipping into the lighting.
---------------------
r54645
Orthographic projections now work with inferred lighting again, however they still suffer from a bug where Blender's panel layout can cause offsets in the lighting. This should not be a problem in the Blenderplayer since it uses the full wi...
---------------------
r54644
Making the prepass fragment shader more consistent with the light shader by moving material properties into a struct and using the bgl naming convention.
---------------------
r54643
Changing the light shader to use the bgl naming convention established in the 2D filter system. This provides a more consistent shader API. Also appending the magic uniform to the bounds uniform to pass in less uniforms, and to get rid of t...
---------------------
r54544
Merged revisions 54090-54518 from trunk/blender
---------------------
r54517
There appears to be a mistake in the rasterizer's SConscript. It doesn't cause a problem in Trunk, but I need it correct in Harmony.
---------------------
r54175
Using preprocessor directives to remove the material based branching from gpu_shader_light_frag.glsl. This leaves the inferred lighting to only use lambert and phong shading by default, however the previous functionality of multiple shader ...
---------------------
r54114
Allowing multiple shader types to be combined for light and prepass shaders, and supplying the fragment libcode to prepass and light fragment shaders. With these changes it is possible to run the builtin prepass and light shaders as custom ...
---------------------
r54107
Moving some OpenGL code out of KX_BlenderMaterial and in to the rasterizer, fixing a crash with custom prepass shaders in the process.
---------------------
r54106
Fixing up a do_version broken in the merge. With out it the render target was set to the GL_R8 texture format (causing only red to render).
---------------------
r54093
Cleaning up some memory leaks caused by custom shaders and shader merging.
---------------------
r54091
Merged revisions 53757-54090 from trunk/blender
---------------------
r54090
Merged revisions 53224-53756 from trunk/blender
---------------------
r53756
Adding some basic normal mapping support to the inferred lighting (it makes a lot of assumptions right now).
---------------------
r53755
Fixing the filter manager so it will actually pass in prepass targets when requested instead of render targets.
---------------------
r53672
Using a different method for reconstructing position information in the light shader (view ray). This fixes the offset bug, but does not work with orthographic projection.
---------------------
r53616
Now using the hardware depth buffer to reconstruct position (gives an extra 8 bits of precision), and using the extra g buffer channel to store the third normal channel (this improves performance of the light shader).
---------------------
r53578
Accidentally lost a matrix push in the last commit.
---------------------
r53577
Accidentally broke point lights with the spot light commit. They should be scaling again now. Also the spot lights were missing a couple of faces. That problem has now been fixed as well.
---------------------
r53573
Adding support for spot lights when using inferred lighting. Square spot lights are not yet supported. Furthermore there appears to be an offsetting problem unrelated to spot lights that is easy to notice on spot lights.
---------------------
r53569
Applying a gcc fix from Jorge Bernal.
---------------------
r53567
The built in light fragment shader now combines the code from gpu_shader_material and gpu_shader_light_frag instead of duplicating the code.
---------------------
r53541
Making sure the prepass and light pass only run when they are actually being used.
---------------------
r53540
Fixing a depth buffer problem that occurred when using inferred lighting.
---------------------
r53526
Missed one of the checks mentioned in the last commit.
---------------------
r53525
Getting rid of some old checks so that the prepass targets should now be available for use when the rendering technique is not set to inferred lighting.
---------------------
r53524
Minor whitespace cleanup.
---------------------
r53520
Cleaning up the shader merging code. Also, now global and custom shaders should run along side the generated shader. This allows the user to use the traditional material system, while rendering out some extra information to the other render...
---------------------
r53514
Exposing control of the multiple render targets used for the main render pass and the prepass to the UI.
---------------------
r53387
The rendering FBO size was off by one, causing the BGE to not completely fill the screen.
---------------------
r53309
Some more cleanup and style changes.
---------------------
r53308
Some minor code cleanup to clean up some errors and warnings on gcc.
---------------------
r53307
Adding support for mat2, mat3, and mat4 uniforms to custom shaders. Unfortunately the Blender UI displays them a little oddly.
---------------------
r53281
Adding support for loading default uniform values in shader UIs. Also cleaned up the shader parser to be more robust by not relying on new lines. Furthermore, the parser now ignores empty file paths (such as when a shader has not been selec...
---------------------
r53258
2D Filters should now be able to access the render targets and prepass targets with the following uniform names: * bgl_RenderTarget0 * bgl_RenderTarget1 * bgl_RenderTarget2 * bgl_RenderTarget3 * bgl_PrepassTarget0 * bgl_PrepassTarget1 * bgl...
---------------------
r53236
Merged revisions 53053-53224 from trunk/blender
---------------------
r53221
Merged revisions 51750-53052 from trunk/blender
---------------------
r52500
Merged revisions 50954-51750 from trunk/blender
---------------------
r51856
Giving each rendering pass its own FBO and making some of the setup a little more general. This should make passing the control of MRTs off to the user a little easier.
---------------------
r51828
Adding custom light and prepass shader support to the blenderplayer.
---------------------
r51824
Adding UI options to override the built in light and prepass shaders. More work still needs to be done to create a better interface for these shaders to use. This only works in the internal player for now.
---------------------
r51800
Merged revisions 50954-51750 from trunk/blender
---------------------
r51160
Exposing the builtin 2DFilters to the Post-Process UI. Since Motion Blur is a very special case, it has been excluded for now.
---------------------
r51141
Adding support for all the diffuse and specular shader models as well as their parameters to the inferred lighting mode. The light shader is starting to get "heavy". Will probably need some optimization soon.
---------------------
r51129
Switching the light buffer back over to a float texture. I get an odd delay on engine startup with an Nvidia card with the integer format, and the ATI card didn't seem to mind the float texture too much.
---------------------
r51128
The gbuffer reshuffling broke things for ATI cards. Turns out I was trying to draw to something that wasn't there (second color attachment). Also changing the light buffer to a integer format to get rid of more of the floating point texture...
---------------------
r51127
Combining the two floating point gbuffer textures for the inferred lighting mode's prepass into one integer texture. This should perform better, and gives more room for some other properties.
---------------------
r51124
Had the face winding wrong on the light shape.
---------------------
r51097
2D filters are now managed per scene again, however there is a bug when running multiple scenes with different filters (potentially something to do with the FBO). Also fixing a bug that caused builtin filters to not function properly.
---------------------
r51052
Fixing the artifacts when rendering point lights with the inferred lighting option enabled.
---------------------
r50963
Merged revisions 50306-50953 from trunk/blender
---------------------
r50605
a missing break would make int custom uniforms to not work (self->m_data == NULL)
---------------------
r50560
pre-incrementing needed for osx
---------------------
r50365
Fixed a bug where a shader that had main on the first line wouldn't load correctly.
---------------------
r50335
Some UI clean up: * A newly created global shader is now automatically selected * Each custom shader UI (material, global, 2D filters) now filters the shader datablocks to only show relevant ones * Global shader and 2D filter UI now h...
---------------------
r50332
Merged revisions 49882-50305 from trunk/blender
---------------------
r50135
Adding a UI setting to switch between Forward Rendering and the Light Prepass rendering (currently labeled Inferred Lighting as that is what it will eventually be). The option is under the shading options in the Render panel.
---------------------
r50032
Rendering point lights as spheres instead of full screen quads for performance improvements. This also means all point lights are now treated as having the sphere option enabled.
---------------------
r50028
Fixing up the uniform map on GPU_shaders, and trying to avoid memory problems.
---------------------
r49972
Moving the prepass rendering to a better spot, as well as making it work a bit better in the pipeline (for example it no longer messes up display lists so textures load correctly). Also getting start on storing just depth for position inste...
---------------------
r49928
Adding some blinn-phong specular support to the light map shading. It is currently fixed at a hardness value of 50, and does not support ramps. It does not match the forward render exactly. Part of this is because the specular color is extr...
---------------------
r49926
Adding support for the falloff options (excluding custom curve) to the light shader.
---------------------
r49925
A small change to the light shader to better match the forward rendering's shading.
---------------------
r49923
Adding support for sun and hemi lights in the light map shader.
---------------------
r49911
Adding back support for material diffuse color, diffuse intensity, and inverse squared attenuation.
---------------------
r49910
Getting the material system to use a light map when it is available (which should currently be always). Right now the material system can set it's diffuse color to match the light map. Now comes the task of reintroducing material features a...
---------------------
r49904
Adding a prepass to get some normal and fragment position data to the light shader. Starting to see shading in the light map now :)
---------------------
r49882
Merged revisions 49568-49881 from trunk/blender
---------------------
r49881
Setting up the beginning of the light pass. Not very exciting yet, but light color is being written to the light map.
---------------------
r49865
Getting an alternate code path setup in gpu_material for reading from a light map. Also adding an array to the OGL rasterizer of what render targets are enabled.
---------------------
r49825
Fixing up saving and loading for global shaders and allowing access to the second render target in a 2D filter (bgl_RenderTarget1, it's 0 based).
---------------------
r49637
Renaming the pre-process filters to global shaders, as this better reflects their function and use.
---------------------
r49597
Adding the UI for pre-process filters and cleaning up some duplicate code. The pre-process filters are not functional yet.
---------------------
r49594
Allowing multiple fragment shaders to be added to a material by mixing them together before the shader is compiled. This works so far with simple shaders, but more complicated shaders, or shaders that declare a version, may break the system...
---------------------
r49589
Exposing the input and output modes for custom geometry shaders.
---------------------
r49585
Making 2D Filters run mostly off FBOs now (do people still use the luminance texture?). There were some minor performance gains from this. Also fixing a conflict with shadow FBOs.
---------------------
r49568
Merged revisions 49272-49567 from trunk/blender
---------------------
r49567
Updating properties_material.py to remove the update button for shaders (it's original function is now automatic, and it does not reload the shader source as people expect). Also now making "reserved" uniforms (e.g. bgl_RenderedTexture) ina...
---------------------
r49430
Making the 2DFilter system more robust to incomplete settings.
---------------------
r49407
Getting rid of the colon after the name of a reserved uniform in the shader UIs. It is a little out of place without a value field.
---------------------
r49385
Uniform caching now takes into account the uniform type. This means you wont get a cached uniform with the wrong type.
---------------------
r49383
Making shaders with paths relative to the blend file ("//") load properly.
---------------------
r49377
The uniform location caching was not working correctly causing UI uniforms to not work. This should now be fixed.
---------------------
r49376
Fixing things up for GCC, MSVC was letting me get away with some things it shouldn't have.
---------------------
r49375
Some improvements to the 2D filter system (FBO for depth, caching uniform locations). On my gtx260 I some times get a slight improvement of about 0.5-1.0 ms on the rasterizer. On the integrated Intel card on my laptop I see a decrease of ab...
---------------------
r49374
Getting rid of some now unused code from gpu_material.c
---------------------
r49351
Cleaned up some OpenGL state queries in the filter manager by caching bind locations.
---------------------
r49350
Some scons fixes.
---------------------
r49347
Custom filter uniforms now work. Supported types are currently float, int, and their vector variants. Also fixed a bug where newly created filter was not being added to the list properly, as well as fixing things up for saving and loading.
---------------------
r49344
Float uniforms can now be passed into a 2D Filter from the UI, some data corruption is preventing other uniform types from working at the moment.
---------------------
r49340
Undoing r49325, scenes need some control over filters since different scenes can have different filters.
---------------------
r49338
Fixing up some comments in the recently moved files.
---------------------
r49327
Making the rasterizer solely responsible for filters. This means moving the filter interface from the game scene and moving the 2dfilter actuator from SCA to KX to give it access to the rasterizer.
---------------------
r49325
Moving the 2D filter system interface to the rasterizer and the implementation to the OpenGL rasterizer to better consolidate OpenGL code.
---------------------
r49273
Merged revision(s) 48067-49271 from trunk/blender
---------------------
r49271
Uniforms prefixed with "bgl_" are now disabled in the UI to avoid conflicts with built in uniforms.
---------------------
r49131
A 2D filter set in the UI is now used in the game engine. Custom uniforms are not yet supported
---------------------
r49130
Missing some #includes for RNA
---------------------
r49129
Fixing a logic error in the shader parsing that caused problems with two consecutive new line characters.
---------------------
r49100
Getting a start on a new UI for Post-process 2D filters.
---------------------
r49099
Fixing up some minor code problems with custom shaders.
---------------------
r49056
Fixing some memory issues caused by the shader datablock. Still have a couple more leaks to work.
---------------------
r49055
Making shader uniforms more reliable. Now when you change shaders, the uniform values are saved (until the file closes) in case you switch back to that shader. This also means you can easily switch between two shaders using the same uniform...
---------------------
r49054
When a new shader is created on a material, it is now set to the active shader for immediate editing.
---------------------
r49053
Fixing up the shader RNA to avoid reparsing a shader file when it wasn't needed. The shader now updates in the viewport automatically when it's values are changed.
---------------------
r49039
Now the uniform label in the custom shader UI only appears when there are uniforms to edit. Also removing a debug print in the custom shader UI script.
---------------------
r49013
Shader datablocks are now saving and loading smoother. Loading and saving Uniforms still needs some work, but the uniforms in general need work.
---------------------
r48672
Converting custom shaders over to using a datablock, as well as creating a more general shader object that can be used for vertex, fragment, or geometry shaders. These new objects automatically detect uniforms from the shader source and exp...
---------------------
r48099
There is going to be some overlap with the 2010 GSoC custom shader project and Harmony phase 2. Therefore I am bringing it into the branch now to make use of the code already in it. It is going to require some cleanup and refactoring, but i...
---------------------
r48067
Rebranching ge_harmony for phase 2 of the BGE Harmony project
---------------------

 

Feeling talkative?
Log in to leave a comment.