浏览代码

Adding copyright notice. Changing the license to BSD. Adding SSE support for
matrix 3x4. Removing alignment requirements from renderer

Panagiotis Christopoulos Charitos 11 年之前
父节点
当前提交
ac5415fd51
共有 100 个文件被更改,包括 709 次插入14 次删除
  1. 14 13
      LICENSE
  2. 5 0
      include/anki/AnKi.h
  3. 5 0
      include/anki/Collision.h
  4. 5 0
      include/anki/Event.h
  5. 5 0
      include/anki/Gl.h
  6. 5 0
      include/anki/Math.h
  7. 5 0
      include/anki/Renderer.h
  8. 5 0
      include/anki/Scene.h
  9. 5 0
      include/anki/Util.h
  10. 5 0
      include/anki/collision/Aabb.h
  11. 5 0
      include/anki/collision/CollisionAlgorithms.h
  12. 5 0
      include/anki/collision/CollisionShape.h
  13. 5 0
      include/anki/collision/Common.h
  14. 5 0
      include/anki/collision/CompoundShape.h
  15. 5 0
      include/anki/collision/ContactPoint.h
  16. 5 0
      include/anki/collision/Forward.h
  17. 5 0
      include/anki/collision/Frustum.h
  18. 5 0
      include/anki/collision/Functions.h
  19. 5 0
      include/anki/collision/LineSegment.h
  20. 5 0
      include/anki/collision/Obb.h
  21. 5 0
      include/anki/collision/Plane.h
  22. 5 0
      include/anki/collision/Ray.h
  23. 5 0
      include/anki/collision/Sphere.h
  24. 5 0
      include/anki/collision/Tests.h
  25. 5 0
      include/anki/core/App.h
  26. 5 0
      include/anki/core/Async.h
  27. 5 0
      include/anki/core/Counters.h
  28. 5 0
      include/anki/core/Logger.h
  29. 5 0
      include/anki/core/NativeWindow.h
  30. 5 0
      include/anki/core/NativeWindowAndroid.h
  31. 5 0
      include/anki/core/NativeWindowEglFbdev.h
  32. 5 0
      include/anki/core/NativeWindowGlxX11.h
  33. 5 0
      include/anki/core/NativeWindowSdl.h
  34. 5 0
      include/anki/core/StdinListener.h
  35. 5 0
      include/anki/core/Threadpool.h
  36. 5 0
      include/anki/core/Timestamp.h
  37. 5 0
      include/anki/event/AnimationEvent.h
  38. 5 0
      include/anki/event/Event.h
  39. 5 0
      include/anki/event/EventManager.h
  40. 5 0
      include/anki/event/FollowPathEvent.h
  41. 5 0
      include/anki/event/LightEvent.h
  42. 5 0
      include/anki/event/MainRendererPpsHdrEvent.h
  43. 5 0
      include/anki/event/MoveEvent.h
  44. 5 0
      include/anki/event/SceneAmbientColorEvent.h
  45. 5 0
      include/anki/gl/GlBuffer.h
  46. 5 0
      include/anki/gl/GlBufferHandle.h
  47. 5 0
      include/anki/gl/GlClientBuffer.h
  48. 5 0
      include/anki/gl/GlClientBufferHandle.h
  49. 5 0
      include/anki/gl/GlCommon.h
  50. 5 0
      include/anki/gl/GlContainerHandle.h
  51. 5 0
      include/anki/gl/GlError.h
  52. 5 0
      include/anki/gl/GlFramebuffer.h
  53. 5 0
      include/anki/gl/GlFramebufferHandle.h
  54. 5 0
      include/anki/gl/GlHandle.h
  55. 5 0
      include/anki/gl/GlHandleDeferredDeleter.h
  56. 5 0
      include/anki/gl/GlJobChain.h
  57. 5 0
      include/anki/gl/GlJobChainHandle.h
  58. 5 0
      include/anki/gl/GlJobManager.h
  59. 5 0
      include/anki/gl/GlManager.h
  60. 5 0
      include/anki/gl/GlObject.h
  61. 5 0
      include/anki/gl/GlOperations.h
  62. 5 0
      include/anki/gl/GlProgram.h
  63. 5 0
      include/anki/gl/GlProgramHandle.h
  64. 5 0
      include/anki/gl/GlProgramPipeline.h
  65. 5 0
      include/anki/gl/GlProgramPipelineHandle.h
  66. 5 0
      include/anki/gl/GlState.h
  67. 5 0
      include/anki/gl/GlSync.h
  68. 5 0
      include/anki/gl/GlSyncHandles.h
  69. 5 0
      include/anki/gl/GlTexture.h
  70. 5 0
      include/anki/gl/GlTextureHandle.h
  71. 5 0
      include/anki/input/Input.h
  72. 5 0
      include/anki/input/InputSdl.h
  73. 5 0
      include/anki/input/InputX11.h
  74. 5 0
      include/anki/input/KeyCode.h
  75. 5 0
      include/anki/math/Axisang.h
  76. 5 0
      include/anki/math/CommonIncludes.h
  77. 5 0
      include/anki/math/CommonSrc.h
  78. 5 0
      include/anki/math/Euler.h
  79. 5 0
      include/anki/math/F16.h
  80. 5 0
      include/anki/math/Forward.h
  81. 5 0
      include/anki/math/Functions.h
  82. 5 0
      include/anki/math/Mat.h
  83. 5 0
      include/anki/math/Mat3.h
  84. 115 1
      include/anki/math/Mat3x4.h
  85. 93 0
      include/anki/math/Mat3x4.inl.h
  86. 5 0
      include/anki/math/Mat4.h
  87. 7 0
      include/anki/math/Mat4.inl.h
  88. 5 0
      include/anki/math/Quat.h
  89. 5 0
      include/anki/math/Simd.h
  90. 5 0
      include/anki/math/Transform.h
  91. 5 0
      include/anki/math/Vec.h
  92. 5 0
      include/anki/math/Vec2.h
  93. 5 0
      include/anki/math/Vec3.h
  94. 5 0
      include/anki/math/Vec4.h
  95. 5 0
      include/anki/math/Vec4.inl.h
  96. 5 0
      include/anki/misc/ConfigSet.h
  97. 5 0
      include/anki/misc/Xml.h
  98. 5 0
      include/anki/physics/Character.h
  99. 5 0
      include/anki/physics/Converters.h
  100. 5 0
      include/anki/physics/MotionState.h

+ 14 - 13
license → LICENSE

@@ -1,16 +1,20 @@
-AnKi 3D Engine Project
-Copyright (c) 2009 - 2011 Panagiotis Christopoulos Charitos
+AnKi 3D Engine
+Copyright (c) 2009 - 2014 Panagiotis Christopoulos Charitos.
 All rights reserved.
 
-AnKi 3D Engine source code is available under multiple licences. The source 
-files under the directory src/Util/Scanner are licensed under MIT license and
-the above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the software. 
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
 
-Every other source file is under dual license. GPLv3 and commercial license. 
-The commercial license applies in cases where this source code or parts
-of this source code will be used in software that won't be licensed under GPLv3.
-To use the commercial license contact Panagiotis Christopoulos Charitos
+    1. Redistributions of source code must retain the above copyright notice,
+       this list of conditions and the following disclaimer.
+
+    2. Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
+
+    3. Neither the name of Django nor the names of its contributors may be used
+       to endorse or promote products derived from this software without
+       specific prior written permission.
 
 THIS SOFTWARE IS PROVIDED BY PANAGIOTIS CHRISTOPOULOS-CHARITOS ''AS IS'' AND ANY
 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -23,6 +27,3 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-
-
-

+ 5 - 0
include/anki/AnKi.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_ANKI_H
 #define ANKI_ANKI_H
 

+ 5 - 0
include/anki/Collision.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_H
 #define ANKI_COLLISION_H
 

+ 5 - 0
include/anki/Event.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_H
 #define ANKI_EVENT_H
 

+ 5 - 0
include/anki/Gl.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 /// @file
 /// This file contains the public OpenGL headers and all the GL classes that
 /// the rest of AnKi should use

+ 5 - 0
include/anki/Math.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_H
 #define ANKI_MATH_H
 

+ 5 - 0
include/anki/Renderer.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_RENDERER_H
 #define ANKI_RENDERER_H
 

+ 5 - 0
include/anki/Scene.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_SCENE_SCENE_H
 #define ANKI_SCENE_SCENE_H
 

+ 5 - 0
include/anki/Util.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_UTIL_H
 #define ANKI_UTIL_H
 

+ 5 - 0
include/anki/collision/Aabb.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_AABB_H
 #define ANKI_COLLISION_AABB_H
 

+ 5 - 0
include/anki/collision/CollisionAlgorithms.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_COLLISION_ALGORITHMS_H
 #define ANKI_COLLISION_COLLISION_ALGORITHMS_H
 

+ 5 - 0
include/anki/collision/CollisionShape.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_COLLISION_SHAPE_H
 #define ANKI_COLLISION_COLLISION_SHAPE_H
 

+ 5 - 0
include/anki/collision/Common.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_COMMON_H
 #define ANKI_COLLISION_COMMON_H
 

+ 5 - 0
include/anki/collision/CompoundShape.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_COMPOUND_SHAPE_H
 #define ANKI_COLLISION_COMPOUND_SHAPE_H
 

+ 5 - 0
include/anki/collision/ContactPoint.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_CONTACT_POINT_H
 #define ANKI_COLLISION_CONTACT_POINT_H
 

+ 5 - 0
include/anki/collision/Forward.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_FORWARD_H
 #define ANKI_COLLISION_FORWARD_H
 

+ 5 - 0
include/anki/collision/Frustum.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_FRUSTUM_H
 #define ANKI_COLLISION_FRUSTUM_H
 

+ 5 - 0
include/anki/collision/Functions.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_FUNCTIONS_H
 #define ANKI_COLLISION_FUNCTIONS_H
 

+ 5 - 0
include/anki/collision/LineSegment.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_LINE_SEGMENT_H
 #define ANKI_COLLISION_LINE_SEGMENT_H
 

+ 5 - 0
include/anki/collision/Obb.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_OBB_H
 #define ANKI_COLLISION_OBB_H
 

+ 5 - 0
include/anki/collision/Plane.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_PLANE_H
 #define ANKI_COLLISION_PLANE_H
 

+ 5 - 0
include/anki/collision/Ray.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_RAY_H
 #define ANKI_COLLISION_RAY_H
 

+ 5 - 0
include/anki/collision/Sphere.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_SPHERE_H
 #define ANKI_COLLISION_SPHERE_H
 

+ 5 - 0
include/anki/collision/Tests.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_COLLISION_TESTS_H
 #define ANKI_COLLISION_TESTS_H
 

+ 5 - 0
include/anki/core/App.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_APP_H
 #define ANKI_CORE_APP_H
 

+ 5 - 0
include/anki/core/Async.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_ASYNC_H
 #define ANKI_CORE_ASYNC_H
 

+ 5 - 0
include/anki/core/Counters.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/util/StdTypes.h"
 #include "anki/util/Singleton.h"
 #include "anki/util/File.h"

+ 5 - 0
include/anki/core/Logger.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_LOGGER_H
 #define ANKI_CORE_LOGGER_H
 

+ 5 - 0
include/anki/core/NativeWindow.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_NATIVE_WINDOW_H
 #define ANKI_CORE_NATIVE_WINDOW_H
 

+ 5 - 0
include/anki/core/NativeWindowAndroid.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_NATIVE_WINDOW_ANDROID_H
 #define ANKI_CORE_NATIVE_WINDOW_ANDROID_H
 

+ 5 - 0
include/anki/core/NativeWindowEglFbdev.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_NATIVE_WINDOW_EGL_FBDEV_H
 #define ANKI_CORE_NATIVE_WINDOW_EGL_FBDEV_H
 

+ 5 - 0
include/anki/core/NativeWindowGlxX11.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_NATIVE_WINDOW_GLX_X11_H
 #define ANKI_CORE_NATIVE_WINDOW_GLX_X11_H
 

+ 5 - 0
include/anki/core/NativeWindowSdl.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_NATIVE_WINDOW_SDL_H
 #define ANKI_CORE_NATIVE_WINDOW_SDL_H
 

+ 5 - 0
include/anki/core/StdinListener.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_STDIN_LISTENER_H
 #define ANKI_CORE_STDIN_LISTENER_H
 

+ 5 - 0
include/anki/core/Threadpool.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_THREADPOOL_H
 #define ANKI_CORE_THREADPOOL_H
 

+ 5 - 0
include/anki/core/Timestamp.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_CORE_TIMESTAMP_H
 #define ANKI_CORE_TIMESTAMP_H
 

+ 5 - 0
include/anki/event/AnimationEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/event/Event.h"
 #include "anki/resource/Resource.h"
 

+ 5 - 0
include/anki/event/Event.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_EVENT_H
 #define ANKI_EVENT_EVENT_H
 

+ 5 - 0
include/anki/event/EventManager.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_MANAGER_H
 #define ANKI_EVENT_MANAGER_H
 

+ 5 - 0
include/anki/event/FollowPathEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_FOLLOW_PATH_EVENT_H
 #define ANKI_EVENT_FOLLOW_PATH_EVENT_H
 

+ 5 - 0
include/anki/event/LightEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_LIGHT_EVENT_H
 #define ANKI_EVENT_LIGHT_EVENT_H
 

+ 5 - 0
include/anki/event/MainRendererPpsHdrEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_MAIN_RENDERER_PPS_HDR_EVENT_H
 #define ANKI_EVENT_MAIN_RENDERER_PPS_HDR_EVENT_H
 

+ 5 - 0
include/anki/event/MoveEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_MOVE_EVENT_H
 #define ANKI_EVENT_MOVE_EVENT_H
 

+ 5 - 0
include/anki/event/SceneAmbientColorEvent.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_EVENT_SCENE_AMBIENT_COLOR_EVENT_H
 #define ANKI_EVENT_SCENE_AMBIENT_COLOR_EVENT_H
 

+ 5 - 0
include/anki/gl/GlBuffer.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_BUFFER_H
 #define ANKI_GL_GL_BUFFER_H
 

+ 5 - 0
include/anki/gl/GlBufferHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_BUFFER_HANDLE_H
 #define ANKI_GL_GL_BUFFER_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlClientBuffer.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_CLIENT_BUFFER_H
 #define ANKI_GL_GL_CLIENT_BUFFER_H
 

+ 5 - 0
include/anki/gl/GlClientBufferHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_CLIENT_BUFFER_HANDLE_H
 #define ANKI_GL_GL_CLIENT_BUFFER_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlCommon.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_COMMON_H
 #define ANKI_GL_COMMON_H
 

+ 5 - 0
include/anki/gl/GlContainerHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_CONTAINER_HANDLE_H
 #define ANKI_GL_GL_CONTAINER_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlError.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_ERROR_H
 #define ANKI_GL_GL_ERROR_H
 

+ 5 - 0
include/anki/gl/GlFramebuffer.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_FRAMEBUFFER_H
 #define ANKI_GL_GL_FRAMEBUFFER_H
 

+ 5 - 0
include/anki/gl/GlFramebufferHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_FRAMEBUFFER_HANDLE_H
 #define ANKI_GL_GL_FRAMEBUFFER_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_HANDLE_H
 #define ANKI_GL_GL_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlHandleDeferredDeleter.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_HANDLE_DEFERRED_DELETER_H
 #define ANKI_GL_GL_HANDLE_DEFERRED_DELETER_H
 

+ 5 - 0
include/anki/gl/GlJobChain.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_JOB_CHAIN_H
 #define ANKI_GL_GL_JOB_CHAIN_H
 

+ 5 - 0
include/anki/gl/GlJobChainHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_JOB_CHAIN_HANDLE_H
 #define ANKI_GL_GL_JOB_CHAIN_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlJobManager.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_JOB_MANAGER_H
 #define ANKI_GL_GL_JOB_MANAGER_H
 

+ 5 - 0
include/anki/gl/GlManager.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_MANAGER_H
 #define ANKI_GL_GL_MANAGER_H
 

+ 5 - 0
include/anki/gl/GlObject.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_OBJECT_H
 #define ANKI_GL_GL_OBJECT_H
 

+ 5 - 0
include/anki/gl/GlOperations.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_OPERATIONS_H
 #define ANKI_GL_GL_OPERATIONS_H
 

+ 5 - 0
include/anki/gl/GlProgram.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_PROGRAM_H
 #define ANKI_GL_GL_PROGRAM_H
 

+ 5 - 0
include/anki/gl/GlProgramHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_PROGRAM_HANDLE_H
 #define ANKI_GL_GL_PROGRAM_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlProgramPipeline.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_PROGRAM_PIPELINE_H
 #define ANKI_GL_GL_PROGRAM_PIPELINE_H
 

+ 5 - 0
include/anki/gl/GlProgramPipelineHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_PROGRAM_PIPELINE_HANDLE_H
 #define ANKI_GL_GL_PROGRAM_PIPELINE_HANDLE_H
 

+ 5 - 0
include/anki/gl/GlState.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_STATE_H
 #define ANKI_GL_GL_STATE_H
 

+ 5 - 0
include/anki/gl/GlSync.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_SYNC_H
 #define ANKI_GL_GL_SYNC_H
 

+ 5 - 0
include/anki/gl/GlSyncHandles.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_SYNC_HANDLES_H
 #define ANKI_GL_GL_SYNC_HANDLES_H
 

+ 5 - 0
include/anki/gl/GlTexture.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_TEXTURE_H
 #define ANKI_GL_GL_TEXTURE_H
 

+ 5 - 0
include/anki/gl/GlTextureHandle.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_GL_GL_TEXTURE_HANDLE_H
 #define ANKI_GL_GL_TEXTURE_HANDLE_H
 

+ 5 - 0
include/anki/input/Input.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_INPUT_INPUT_H
 #define ANKI_INPUT_INPUT_H
 

+ 5 - 0
include/anki/input/InputSdl.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_INPUT_INPUT_SDL_H
 #define ANKI_INPUT_INPUT_SDL_H
 

+ 5 - 0
include/anki/input/InputX11.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_INPUT_INPUT_X11_H
 #define ANKI_INPUT_INPUT_X11_H
 

+ 5 - 0
include/anki/input/KeyCode.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_INPUT_KEY_CODES_H
 #define ANKI_INPUT_KEY_CODES_H
 

+ 5 - 0
include/anki/math/Axisang.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_AXISANG_H
 #define ANKI_MATH_AXISANG_H
 

+ 5 - 0
include/anki/math/CommonIncludes.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/math/Forward.h"
 #include "anki/math/Functions.h"
 #include "anki/math/Simd.h"

+ 5 - 0
include/anki/math/CommonSrc.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/math/Vec2.h"
 #include "anki/math/Vec3.h"
 #include "anki/math/Vec4.h"

+ 5 - 0
include/anki/math/Euler.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_EULER_H
 #define ANKI_MATH_EULER_H
 

+ 5 - 0
include/anki/math/F16.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_F16_H
 #define ANKI_MATH_F16_H
 

+ 5 - 0
include/anki/math/Forward.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_FORWARD_H
 #define ANKI_MATH_FORWARD_H
 

+ 5 - 0
include/anki/math/Functions.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_FUNCTIONS_H
 #define ANKI_MATH_FUNCTIONS_H
 

+ 5 - 0
include/anki/math/Mat.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_MAT_H
 #define ANKI_MATH_MAT_H
 

+ 5 - 0
include/anki/math/Mat3.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_MAT3_H
 #define ANKI_MATH_MAT3_H
 

+ 115 - 1
include/anki/math/Mat3x4.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_MAT3X4_H
 #define ANKI_MATH_MAT3X4_H
 
@@ -27,7 +32,7 @@ public:
 };
 #endif
 
-/// 3x4 Matrix. Mainly used for rotations. It includes many helpful member
+/// 3x4 Matrix. Mainly used for transformations. It includes many helpful member
 /// functions. Its row major. The columns are the x,y,z axis
 template<typename T>
 class alignas(16) TMat3x4: public TMat<T, 3, 4, typename TMat3x4Simd<T>::Type, 
@@ -41,6 +46,10 @@ public:
 
 	/// @name Constructors
 	/// @{
+	explicit TMat3x4()
+		: Base()
+	{}
+
 	explicit TMat3x4(const TMat3<T>& m3)
 	{
 		TMat3x4& m = *this;
@@ -58,6 +67,41 @@ public:
 		m(2, 3) = 0.0;
 	}
 
+	explicit TMat3x4(const TMat4<T>& m3)
+	{
+		TMat3x4& m = *this;
+		m(0, 0) = m3(0, 0);
+		m(0, 1) = m3(0, 1);
+		m(0, 2) = m3(0, 2);
+		m(0, 3) = m3(0, 3);
+		m(1, 0) = m3(1, 0);
+		m(1, 1) = m3(1, 1);
+		m(1, 2) = m3(1, 2);
+		m(1, 3) = m3(1, 3);
+		m(2, 0) = m3(2, 0);
+		m(2, 1) = m3(2, 1);
+		m(2, 2) = m3(2, 2);
+		m(2, 3) = m3(2, 3);
+	}
+
+	explicit TMat3x4(T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, 
+		T m20, T m21, T m22, T m23)
+	{
+		TMat3x4& m = *this;
+		m(0, 0) = m00;
+		m(0, 1) = m01;
+		m(0, 2) = m02;
+		m(0, 3) = m03;
+		m(1, 0) = m10;
+		m(1, 1) = m11;
+		m(1, 2) = m12;
+		m(1, 3) = m13;
+		m(2, 0) = m20;
+		m(2, 1) = m21;
+		m(2, 2) = m22;
+		m(2, 3) = m23;
+	}
+
 	explicit TMat3x4(const TVec3<T>& v)
 	{
 		TMat3x4& m = *this;
@@ -103,6 +147,49 @@ public:
 
 	/// @name Other
 	/// @{
+
+	/// Create a new matrix that is equivalent to Mat4(this)*Mat4(b)
+	TMat3x4 combineTransformations(const TMat3x4& b) const
+	{
+		const TMat3x4& a = *static_cast<const TMat3x4*>(this);
+		TMat3x4 c;
+
+		c(0, 0) = 
+			a(0, 0) * b(0, 0) + a(0, 1) * b(1, 0) + a(0, 2) * b(2, 0);
+		c(0, 1) = 
+			a(0, 0) * b(0, 1) + a(0, 1) * b(1, 1) + a(0, 2) * b(2, 1);
+		c(0, 2) = 
+			a(0, 0) * b(0, 2) + a(0, 1) * b(1, 2) + a(0, 2) * b(2, 2);
+		c(1, 0) = 
+			a(1, 0) * b(0, 0) + a(1, 1) * b(1, 0) + a(1, 2) * b(2, 0);
+		c(1, 1) = 
+			a(1, 0) * b(0, 1) + a(1, 1) * b(1, 1) + a(1, 2) * b(2, 1);
+		c(1, 2) = 
+			a(1, 0) * b(0, 2) + a(1, 1) * b(1, 2) + a(1, 2) * b(2, 2);
+		c(2, 0) =
+			a(2, 0) * b(0, 0) + a(2, 1) * b(1, 0) + a(2, 2) * b(2, 0);
+		c(2, 1) = 
+			a(2, 0) * b(0, 1) + a(2, 1) * b(1, 1) + a(2, 2) * b(2, 1);
+		c(2, 2) =
+			a(2, 0) * b(0, 2) + a(2, 1) * b(1, 2) + a(2, 2) * b(2, 2);
+
+		c(0, 3) = a(0, 0) * b(0, 3) + a(0, 1) * b(1, 3) 
+			+ a(0, 2) * b(2, 3) + a(0, 3);
+
+		c(1, 3) = a(1, 0) * b(0, 3) + a(1, 1) * b(1, 3) 
+			+ a(1, 2) * b(2, 3) + a(1, 3);
+
+		c(2, 3) = a(2, 0) * b(0, 3) + a(2, 1) * b(1, 3) 
+			+ a(2, 2) * b(2, 3) + a(2, 3);
+
+		return c;
+	}
+
+	void transform(const TMat3x4& b)
+	{
+		*this = combineTransformations(b);
+	}
+
 	void setIdentity()
 	{
 		(*this) = getIdentity();
@@ -119,8 +206,35 @@ public:
 	/// @}	
 };
 
+#if ANKI_SIMD == ANKI_SIMD_SSE
+
+// Forward declare specializations
+
+template<>
+TMat3x4<F32>::Base::TMat(const TMat3x4<F32>::Base& b);
+
+template<>
+TMat3x4<F32>::Base::TMat(const F32 f);
+
+template<>
+inline TVec3<F32> TMat3x4<F32>::Base::operator*(const TVec4<F32>& b) const;
+
+template<>
+TMat3x4<F32> TMat3x4<F32>::combineTransformations(const TMat3x4<F32>& b) const;
+
+#elif ANKI_SIMD == ANKI_SIMD_NEON
+
+#	error "TODO"
+
+#endif
+
+/// F32 4x4 matrix
+typedef TMat3x4<F32> Mat3x4;
+static_assert(sizeof(Mat3x4) == sizeof(F32) * 3 * 4, "Incorrect size");
 /// @}
 
 } // end namespace anki
 
+#include "anki/math/Mat3x4.inl.h"
+
 #endif

+ 93 - 0
include/anki/math/Mat3x4.inl.h

@@ -0,0 +1,93 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
+#include "anki/math/CommonSrc.h"
+
+namespace anki {
+
+#if ANKI_SIMD == ANKI_SIMD_SSE
+
+//==============================================================================
+// SSE specializations                                                         =
+//==============================================================================
+
+//==============================================================================
+// Constructors                                                                =
+//==============================================================================
+
+//==============================================================================
+template<>
+inline TMat3x4<F32>::Base::TMat(const TMat3x4<F32>::Base& b)
+{
+	for(U i = 0; i < 3; i++)
+	{
+		m_simd[i] = b.m_simd[i];
+	}
+}
+
+//==============================================================================
+template<>
+inline TMat3x4<F32>::Base::TMat(const F32 f)
+{
+	for(U i = 0; i < 3; i++)
+	{
+		m_simd[i] = _mm_set1_ps(f);
+	}
+}
+
+//==============================================================================
+// Operators with other                                                        =
+//==============================================================================
+
+//==============================================================================
+template<>
+inline TVec3<F32> TMat3x4<F32>::Base::operator*(const TVec4<F32>& b) const
+{
+	TVec3<F32> v;
+	
+	for(U i = 0; i < 3; i++)
+	{
+		_mm_store_ss(&v[i], _mm_dp_ps(m_simd[i], b.getSimd(), 0xF1));
+	}
+
+	return v;
+}
+
+//==============================================================================
+// Other                                                                       =
+//==============================================================================
+
+//==============================================================================
+template<>
+inline TMat3x4<F32> TMat3x4<F32>::combineTransformations(
+	const TMat3x4<F32>& b) const
+{
+	TMat3x4<F32> c;
+	const TMat3x4<F32>& a = *static_cast<const TMat3x4<F32>*>(this);
+
+	for(U i = 0; i < 3; i++)
+	{
+		__m128 t1, t2;
+
+		t1 = _mm_set1_ps(a(i, 0));
+		t2 = _mm_mul_ps(b.m_simd[0], t1);
+		t1 =_mm_set1_ps(a(i, 1));
+		t2 = _mm_add_ps(_mm_mul_ps(b.m_simd[1], t1), t2);
+		t1 =_mm_set1_ps(a(i, 2));
+		t2 = _mm_add_ps(_mm_mul_ps(b.m_simd[2], t1), t2);
+
+		TVec4<F32> v4(0.0, 0.0, 0.0, a(i, 3));
+		t2 = _mm_add_ps(v4.getSimd(), t2);
+
+		c.m_simd[i] = t2;
+	}
+
+	return c;
+}
+
+#endif
+
+} // end namespace anki
+

+ 5 - 0
include/anki/math/Mat4.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_MAT4_H
 #define ANKI_MATH_MAT4_H
 

+ 7 - 0
include/anki/math/Mat4.inl.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/math/CommonSrc.h"
 
 namespace anki {
@@ -145,6 +150,7 @@ inline TMat4<F32> TMat4<F32>::Base::operator*(const TMat4<F32>& b) const
 {
 	TMat4<F32> out;
 	const TMat4<F32>& m = *static_cast<const TMat4<F32>*>(this);
+
 	for(U i = 0; i < 4; i++)
 	{
 		__m128 t1, t2;
@@ -160,6 +166,7 @@ inline TMat4<F32> TMat4<F32>::Base::operator*(const TMat4<F32>& b) const
 
 		out.m_simd[i] = t2;
 	}
+
 	return out;
 }
 

+ 5 - 0
include/anki/math/Quat.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_QUAT_H
 #define ANKI_MATH_QUAT_H
 

+ 5 - 0
include/anki/math/Simd.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_MATH_SIMD_H
 #define ANKI_MATH_MATH_SIMD_H
 

+ 5 - 0
include/anki/math/Transform.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_TRANSFORM_H
 #define ANKI_MATH_TRANSFORM_H
 

+ 5 - 0
include/anki/math/Vec.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_VEC_H
 #define ANKI_MATH_VEC_H
 

+ 5 - 0
include/anki/math/Vec2.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_VEC2_H
 #define ANKI_MATH_VEC2_H
 

+ 5 - 0
include/anki/math/Vec3.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_VEC3_H
 #define ANKI_MATH_VEC3_H
 

+ 5 - 0
include/anki/math/Vec4.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MATH_VEC4_H
 #define ANKI_MATH_VEC4_H
 

+ 5 - 0
include/anki/math/Vec4.inl.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #include "anki/math/CommonSrc.h"
 
 namespace anki {

+ 5 - 0
include/anki/misc/ConfigSet.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_MISC_CONFIG_SET_H
 #define ANKI_MISC_CONFIG_SET_H
 

+ 5 - 0
include/anki/misc/Xml.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_XML_H
 #define ANKI_XML_H
 

+ 5 - 0
include/anki/physics/Character.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_PHYSICS_CHARACTER_H
 #define ANKI_PHYSICS_CHARACTER_H
 

+ 5 - 0
include/anki/physics/Converters.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_PHYSICS_CONVERTERS_H
 #define ANKI_PHYSICS_CONVERTERS_H
 

+ 5 - 0
include/anki/physics/MotionState.h

@@ -1,3 +1,8 @@
+// Copyright (C) 2014, Panagiotis Christopoulos Charitos.
+// All rights reserved.
+// Code licensed under the BSD License.
+// http://www.anki3d.org/LICENSE
+
 #ifndef ANKI_PHYSICS_MOTION_STATE_H
 #define ANKI_PHYSICS_MOTION_STATE_H
 

部分文件因为文件数量过多而无法显示