63fb848da5
Implemented global dynamic texture LOD selection to constrain texture memory usage within bounds
kearwood
2012-09-26 20:07:48 +00:00
a39610a292
Now drawing geometry in front-to-back order for opaque surfaces and back-to-front order for transparent surfaces. This solves some sorting issues with transparent blended textures stacking. Additionally, it improves the efficiency of the occlusion culling algorithm.
kearwood
2012-09-21 08:24:55 +00:00
d23fe9a700
Added sliders for temperature and intensity
mike
2012-09-21 05:59:24 +00:00
0dcd2d19f4
Added additional validation logic for debugging Corrected memory corruption in VBO's! No longer have random visual artifacts when models with > 65535 triangles are displayed.
kearwood
2012-09-20 10:51:28 +00:00
57fd737955
Corrected shader link status validation
kearwood
2012-09-20 09:32:20 +00:00
96c5b62e26
Updated for XCode 4.5 Cleanup and removal of redundant shader compiling and validation code
kearwood
2012-09-20 08:16:59 +00:00
9f4608a888
Moved the post processing shader to KRShaderManager / KRShader Changed many vertex buffers to VBO's
kearwood
2012-09-19 20:26:30 +00:00
283460acc7
Fixed bug in material loader that resulted in corrupted displays for materials with > 64 characters in the name
kearwood
2012-09-13 23:59:28 +00:00
917c4221ea
Added debugging macro for GL calls Activated octree culling logic as a default Wide spread bug fixes related to occlusion culling and GPU resource management Implemented logic to automatically enable alpha blending for materials that do not contain an alpha blending statement but have a material-level opacity value set less than 1.0 Extended the krobject file format to 256 characters for material names. Added logic to prevent exported krobject files from being corrupted when long material names are used.
kearwood
2012-09-13 20:09:19 +00:00
763e8b8fe7
Fixed bug causing incorrect specular value to be assigned to a material when a mesh is rendered using the same shader as the previously rendered material.
kearwood
2012-09-11 08:50:25 +00:00
c6417c151d
Performance improvement in the deferred lighting pipeline, utilizing hardware occlusion queries to avoid rendering objects in 3rd pass (Final Render) or loading their textures when they have been determined to be occluded in the 1st pass. (GBuffer populate)
kearwood
2012-09-11 08:15:05 +00:00
b802d22dc0
Implemented Deferred Point light visualization
kearwood
2012-09-11 07:23:54 +00:00
377fd8e6b5
Point lights no longer disappear when the camera is too close (within their sphere of influence)
kearwood
2012-09-11 06:45:02 +00:00
754496fe06
Implemented texture and VBO swapping system that keeps GPU memory utilization within limits
kearwood
2012-09-11 04:32:04 +00:00
34c7dc7b53
Implemented KRBundle's Implementation of logic to allow dynamic loading and unloading of meshes and models for scenes larger than RAM in progress
kearwood
2012-09-11 03:06:35 +00:00
c7b7c20310
moved shader
mike
2012-09-06 21:24:41 +00:00
eb912256ab
Disabled octree visualization
mike
2012-09-06 20:25:49 +00:00
527bcb33c3
Implemented visualization of octrees for debugging occlusion culling algorithms. Corrected project settings to allow objpack to compile again.
kearwood
2012-09-05 18:14:08 +00:00
c74a85d931
Added texture loading and mapping to KRSkybox
mike
2012-08-30 23:23:28 +00:00
cee504408a
Now iterating through the octree rather than the scene graph structure during render, in preparation for occlusion culling
kearwood
2012-08-30 19:31:38 +00:00
99b6d6771d
Occlusion testing implementation in progress
kearwood
2012-08-29 22:29:18 +00:00
f8810110cd
Implemented KROctree class to be used by upcoming occlusion culling and physics features Refactored scene graph notification system structures to be owned by the KRScene object Merged Mike's changes
kearwood
2012-08-29 21:43:11 +00:00
43a4ecd2ea
Updated include header files to archive
mike
2012-08-24 01:09:43 +00:00
e56c217999
Added XML load filename and texture references for skybox
mike
2012-08-24 00:37:01 +00:00
bbfb04347c
Added KRSkyBox as new KRNode instance
mike
2012-08-23 23:18:45 +00:00
4b7163aa48
Added getParameterIndexForName
mike
2012-08-23 22:43:26 +00:00
9077b5a890
Worked around texture loading bug
kearwood
2012-08-23 19:44:23 +00:00
fc45c06281
Added getContext method to KRContextObject
kearwood
2012-08-23 17:32:38 +00:00
1efbb63ecf
Performance optimizations in deferred lighting shaders Created structures for alpha transparency and occlusion culling Fixed memory allocation issue in KREngine.mm (pointer to NSDictionary allocated on stack retained and later dereferenced when popped)
kearwood
2012-08-23 16:55:46 +00:00
6d7e7d9abb
Added virtual directive to destructors where missing
kearwood
2012-08-17 01:06:27 +00:00
5768902ee2
Implemented notification system needed for occlusion culling and transparency sorting
kearwood
2012-08-17 01:04:49 +00:00
3b2d71221a
Exposed an NSDictionary containing the indexes of the engine parameters
kearwood
2012-08-16 22:50:30 +00:00
97b036878e
Now parsing additional alpha modes in KRMaterial
kearwood
2012-08-16 22:30:14 +00:00
0ce4bc8b11
Changed ObjC properties to be pointers for C++ objects
kearwood
2012-08-16 20:44:33 +00:00
721d25f0ed
Cleanup methods in KRCamera that should be private
kearwood
2012-08-16 17:51:27 +00:00
8071731b7a
Made call private in KRCamera.h so it doesn't get confused with the renderFrame method
kearwood
2012-08-16 17:46:23 +00:00
29e2181c7e
Refactored many functions out of KREngine.mm into KRCamera.cpp in preparation for alpha transparent polygon sorting structures which will be owned by KRCamera
kearwood
2012-08-15 21:26:06 +00:00
e8ad725d45
Implemented punch-through / alpha tested material support, enabled with the "alpha_test true" in the material file.
kearwood
2012-08-09 23:40:32 +00:00
3d832d1586
Added flares for light sources
kearwood
2012-06-15 00:05:56 +00:00
f9cf9b7ffe
Organized render passes, in preparation for transparency pass and point light flares
kearwood
2012-06-14 19:33:17 +00:00
9dfc7d93f9
Minor math library update
kearwood
2012-06-10 06:38:31 +00:00
9c8430368f
Updated math library and added the KRQuaternion class.
kearwood
2012-06-10 06:24:04 +00:00
cad53fcf69
Very early KRWorldBuilder scaffolding in progress. New KRVector3 math functions
kearwood
2012-06-07 17:19:29 +00:00
0b76fadeef
Adjusted point light cutoff level Corrected directional light post-rotation Fixed engine parameter value mapping
kearwood
2012-05-11 01:06:29 +00:00
dfdc8c69b8
Native Blender file format support in progress Changed material colour parameters from separate float values to KRVector3's
kearwood
2012-05-09 01:56:04 +00:00
2627657e93
Reflection map framework in progress
kearwood
2012-05-08 23:39:52 +00:00
0594bc0953
Point lights now fully functional with deferred lighting
kearwood
2012-04-26 09:06:45 +00:00
167a18f3a7
Hooked up the directional light colour and directional light intensity parameters from the scene graph
kearwood
2012-04-20 02:02:33 +00:00
1df9ac00ca
Reduced precision of shader variables to increase performance OSX library now compiling again
kearwood
2012-04-20 01:06:12 +00:00
b2c67f5276
Specular lighting now working correctly with the deferred lighting
kearwood
2012-04-20 00:48:23 +00:00
17e0503529
Specular calculations for deferred lighting in progress
kearwood
2012-04-20 00:17:15 +00:00
21762174bf
Specular calculations for deferred lighting in progress Have integrated the position of the directional light in the scene graph (imported from fbx) with the forward renderer and deferred lighting renderer's directional light angle
kearwood
2012-04-19 23:39:32 +00:00
2ead2995d5
Deferred lighting now working with directional lights
kearwood
2012-04-14 02:15:35 +00:00
97d8054cd0
Deferred lighting in progress Now able to dynamically switch between shaders for lights and objects
kearwood
2012-04-13 23:24:07 +00:00
b88cf8e0cb
Deferred lighting implementation in progress. Now generating view-space normal fragments for the 1st pass G-buffer. Added transpose() method to KRMat4
kearwood
2012-04-13 01:13:18 +00:00
3749d3edfd
Light transformation, rotation, and scaling is now imported correctly from FBX files
kearwood
2012-04-12 22:18:38 +00:00
f847b89f5a
Implemented KRContext class to reduce the parameter count of method calls
kearwood
2012-04-12 19:43:08 +00:00
03b749b93c
Optimization of specular calculation in fragment shader
kearwood
2012-04-05 21:47:49 +00:00
75e42c08fd
KRObjView now automatically loads any models it finds in the "Documents" folder and assigns light maps that have the same name as the model appended with "_lightmap". Lightmapping now enabled by default.
kearwood
2012-04-05 21:18:25 +00:00
ee3fbb8a8a
Fixed 2nd UV set import issues. Lightmapping now fully functional
kearwood
2012-04-05 20:12:39 +00:00
f2845b2456
Implemented texture scale and offset material parameters
kearwood
2012-03-30 00:54:44 +00:00
35d138c31c
Corrected tangent and normal import from FBX files. FBX Import now functional.
kearwood
2012-03-28 23:34:39 +00:00
d457991ed0
FBX File Import - Materials and texture map names now imported
kearwood
2012-03-28 21:58:55 +00:00
b7c8ae001b
FBX File import now re-orders vertices and batches all materials together to reduce draw calls
kearwood
2012-03-28 19:34:52 +00:00
6edc77e32b
Now importing multiple submeshes / materials per object during FBX import
kearwood
2012-03-28 19:06:23 +00:00
67fee4a291
Implementation of FBX import workflow in progress
kearwood
2012-03-23 02:28:46 +00:00
d305bd1438
Implemented logic to track the source of the mesh data and perform appropriate cleanup depending on if it was malloc'ed or mmap'ed. Implemented writePack method
kearwood
2012-03-16 00:53:15 +00:00
d43989cd88
Resolved linker errors, now able to cross-compile the OSX framework and iOS library from the same source
kearwood
2012-03-15 23:58:37 +00:00
bb38ede18e
Renamed Vector3 class to KRVector3 KRObjPacker project updated to use KREngine_osx framework rather than having a copy of the files
kearwood
2012-03-15 22:57:20 +00:00
a9786b80e6
Created target for KREngine to compile as a framework for OSX.
kearwood
2012-03-15 22:34:08 +00:00
9c66c28025
Removed old test flight version
kearwood
2012-03-15 21:57:14 +00:00
bb7bc1cba8
Added test flight to the project
kearwood
2012-03-15 21:55:05 +00:00
fca472721b
Optimized further to reduce redundant GL state changes
kearwood
2012-03-15 20:44:57 +00:00