Commit Graph

823 Commits

Author SHA1 Message Date
Lynix 593fec134d Added lights bounding box
Former-commit-id: 9ab45181c8b0586e9d4040d48d756683e88dd8fe
2013-03-13 17:10:58 +01:00
Lynix efd0f5eaf6 Fixed FBO extension not loading on old hardware
Former-commit-id: 5353ce64e5c2508f7cbc624139e4c823c86bf0fc
2013-03-13 00:31:59 +01:00
Lynix c67b0d709f Added protection
Former-commit-id: 1e5f0c1421fda868a3a1ef59a92cc0a2ca2e5c47
2013-03-12 23:35:59 +01:00
Lynix 5cc0ce4758 Fixed shader bug with old hardware
Former-commit-id: c1d70b72de7a469b6cf29268d4351ee257dbae5b
2013-03-12 23:32:14 +01:00
Lynix e2da6627d4 Fixed possible compile error (Thanks to MrFraggy)
Former-commit-id: cc58636d84925229808da26436e41331e6ee8482
2013-03-09 14:16:24 +01:00
Lynix c55a222324 Improved comments
Former-commit-id: b387e7eb487de22cc06a9a526ad974fc0625879d
2013-03-08 12:17:42 +01:00
Lynix dca6b6d41f Added comment
Former-commit-id: 081cceccdcfeb491606c8d7f36810a7374e50ec9
2013-03-08 01:20:50 +01:00
Lynix 5890f26291 Removed useless header
Former-commit-id: 2672f3b9f7df3bb21973868e384d3f2d77b36d3b
2013-03-08 01:20:35 +01:00
Lynix 39e54474dd Added Window::Close (soft way to close window)
Former-commit-id: 9d47ed3ed38d62928f3cb6356fed07501b5e92d5
2013-03-08 01:20:26 +01:00
Lynix 9f780ef2bd Optimized Buffer locking/filling
Former-commit-id: 41cb66257f3eeef375086bf51f26230a06ca9eb8
2013-03-06 22:40:15 +01:00
Lynix aa67a52e9c Added glInvalidateBufferData loading
Former-commit-id: faf3a0848548107302ab64f15808212da71d3e64
2013-03-06 22:39:39 +01:00
Lynix 11564191bc Added missing Leaks.cpp in Audio module
Former-commit-id: 08ca6828bd1161295c951b2afdf8e44cfae66f74
2013-03-06 13:42:09 +01:00
Lynix 2fe693f24d Made scene propagation works with Node class
Former-commit-id: b587ea907f70dc08cd741f64e4e6f3201cd1783e
2013-03-06 13:34:22 +01:00
Lynix 62afc9d5dc Fixed missing Leaks.cpp in 2D/3D modules
Former-commit-id: 2e059122d2ef7500638037ecec45af8fd66c5f3a
2013-03-06 12:57:15 +01:00
Lynix 619dd3e894 Added TODOs
Former-commit-id: 6f8c5810232a204d9a00c66436d342a2cd126202
2013-03-06 00:57:05 +01:00
Lynix f4a5ddc26b Added reference of Camera::SetTarget
Former-commit-id: 5a3d1f28de326325093d358e32991ce2c404ec84
2013-03-05 15:08:46 +01:00
Lynix 7e60bc2d81 Fixed missing RenderWindow::IsValid code
Former-commit-id: bb2b8ae50755198fd0af9db1764eb01935ff1ee7
2013-03-05 13:34:30 +01:00
Lynix 0e49132cd9 Added visibility state to SceneNode
Former-commit-id: 5325e268a4276d6e2e3e72648641ca03225ab4da
2013-03-05 12:09:51 +01:00
Lynix e26728c424 Removed Keyframe animation type
Former-commit-id: 807c81e9b738dbb443c3101026f7b5bdff32a931
2013-03-05 10:54:58 +01:00
Lynix a97da928a2 Merged MeshParameters into ModelParameters
Former-commit-id: 187541bd30255f64758d96b80e6280842699124d
2013-03-05 10:42:18 +01:00
Lynix 078e590f9b Little optimisation to scenes
Former-commit-id: 10401f5ef4a0233ef503747fb2422406245dd296
2013-03-05 10:40:50 +01:00
Lynix cdda9706c3 Added target parameter to Camera
Former-commit-id: a0f27d4a37aba8cfc9a2feba23866e95e7e90ea1
2013-03-02 19:09:46 +01:00
Lynix cd48d70844 Made Context/RenderTarget usage constant
Former-commit-id: 07a2655ea642664bc49ca335cf5147ebf9fb9f26
2013-03-02 19:09:13 +01:00
Lynix 2f85b258e9 Fixed normal lighting rotation
Former-commit-id: 06c71dd9d5ee90fa9d3fbce8e87dcff6b8a455d9
2013-03-02 19:06:24 +01:00
Lynix 636b9d3f50 (Node) Added name getter/setter
Former-commit-id: 56ec0721abfba836a12c8a2de7f7c909f58a6c37
2013-03-02 01:33:58 +01:00
Lynix ab1fc99fcd Big 3D update (WIP)
Former-commit-id: 9f55dae0521bded91640a7ea2d223a49a378c97c
2013-03-02 01:29:44 +01:00
Lynix 8fa54c85a4 Optimized conversion
Former-commit-id: f4c463c1dd42a5f8e90bc7796c88a175ceb2bbef
2013-03-02 00:28:39 +01:00
Lynix eda1f5ebab Added 2D module
Former-commit-id: 4e1ad41928e04e9de4b4288b973f37b6eb0755db
2013-03-02 00:28:22 +01:00
Lynix eca2ec3115 Stabilized TaskScheduler (Still buggy)
Former-commit-id: a604c6616065342b21d2c11c27974ec11935a852
2013-03-02 00:26:48 +01:00
Lynix b4d7e16749 Updated Renderer
Former-commit-id: 74ad349814a5624cdf1c61bfb9e0123b82be06f2
2013-03-02 00:22:49 +01:00
Lynix c3b2a0a03f Fixed RenderTexture bug
Former-commit-id: daedd6e95b7825389438585cbaff60ae07a07eef
2013-03-02 00:21:10 +01:00
Lynix 0df64e03ae New mesh policy
Former-commit-id: cc5854d55e1e4bb83e5e081434b87ec22fcb8bff
2013-03-02 00:17:40 +01:00
Lynix 347b267d43 Added shader flags
Renamed ShaderBuilder enum to ShaderFlags


Former-commit-id: b3440bac5491f0a0a90cbd7f9ed8e396c16c0864
2013-03-01 21:54:41 +01:00
Lynix d0a6a75f14 Fixed Skeleton AABB
Former-commit-id: ac29bc9fd1bdf3d7c0d937460a7d12d61e242f65
2013-03-01 21:28:45 +01:00
Lynix bb4c747e0b Buffer::CopyContent takes now an const buffer
Former-commit-id: c7a44c3198a24a60a26ab3cc04f75f4cea159979
2013-03-01 16:11:39 +01:00
Lynix 3b0751fb88 Added support for Instancing
Former-commit-id: 62f5f3186423b01f7a0ac2762969dca12bea1327
2013-02-26 01:40:57 +01:00
Lynix 1b5215d4c2 Removed AxisAlignedBox (Replaced by BoundingBox)
Former-commit-id: 931dd6710caf49aeaede51efe209d714f080c44b
2013-02-21 18:28:32 +01:00
Lynix 2828ced694 Fixed tangents/binormal not being normalized
Former-commit-id: 1d2d90bc76ddc590cde07607ac4cf3189d4e365e
2013-02-21 02:43:10 +01:00
Lynix add363a290 Moved AxisAlignedBox to mathematic module
Former-commit-id: 2cb5b151941a431b5c12457f0decf7b39195052d
2013-02-19 12:32:11 +01:00
Lynix d56900fe01 Added DebugDrawer::Draw(Frustum)
Former-commit-id: 595204759c54ccc1e7cec38fe3e26b6b3400e723
2013-02-19 01:24:46 +01:00
Lynix 8fff32e145 Changed comment
Former-commit-id: 5d7f268bd8f49402f98c426c561d38a50ce4fa34
2013-02-18 04:03:05 +01:00
Lynix 8b192a8cae Fixed AxisAlignedBox::ExtendTo warning
Former-commit-id: 696ce9e1625df33857425e0d758ee135d53c5064
2013-02-18 04:02:54 +01:00
Lynix 857d2dd9ed Replaced std::map with std::unordered_map
Not possible yet with NzString-key map


Former-commit-id: faa628a1c9c10e7bc009bf5a67e112ad5f873bd8
2013-02-17 14:08:12 +01:00
Lynix 60d41f3c4b Moved AxisAlignedBox::GetCorner to Cube
Former-commit-id: 59509594e6cda19089b93efd8dc77ab7bd20250c
2013-02-17 00:51:16 +01:00
Lynix f14a68fc04 Fixed ShaderBuilder bug
Fixed: When GLSL 140 is supported and MRT is not (As reported by
Renderer), then the ShaderBuilder will write incorrect code

Former-commit-id: 38080a5685634b2da21eadbb1939a21e00cc48de
2013-02-17 00:36:00 +01:00
Lynix 3a4fb198e8 Fixed TaskScheduler leak
Former-commit-id: 3c8a5217fdd89f4ad7acad86a184420a6abf9e2f
2013-02-15 13:41:52 +01:00
Lynix f5cc6ba8fc Added FIXME comments
Former-commit-id: a26466fef726879d1e73f09aa1448711ffdcc0b0
2013-02-15 13:40:58 +01:00
Lynix 43b5e493f6 Added face culling boolean to materials
Former-commit-id: ed651beb3545b85d5496bb5739c4caa9c81df8a3
2013-02-13 01:35:01 +01:00
Lynix 8134704d88 Refactored HardwareInfo code
Former-commit-id: feafd33838718cc37843a599049af419e554951a
2013-02-13 01:34:20 +01:00
Lynix 9ce7903b63 Fixed core not initialized
Former-commit-id: 8eaaeae007e92d419fa9ee4e84bcf94c2aa30492
2013-02-09 17:12:03 +01:00
Lynix 7970752a5b Disabled lighting on default material
Former-commit-id: 2e4f87bda64d2dbb8b76d3ca9fb165255484bd64
2013-02-04 01:42:23 +01:00
Lynix e9615cc07b Fixed AABB not invalidated by Interpolate()
Former-commit-id: a688a7861bedbc3e49af92da8db78b12123276a2
2013-01-31 17:05:44 +01:00
Lynix 81f9f54688 Fixed Material not applying changes
Former-commit-id: 6e2f9a428213195360516ffcd8efd11b325e08a4
2013-01-30 01:38:02 +01:00
Lynix c87c63c685 Optimized multi-threaded Skinning
Former-commit-id: f11c81767f5979ae834fd841be1cd75f79190940
2013-01-30 01:37:20 +01:00
Lynix ff9c61735c Fixed ShaderBuilder inserting unused varying
Former-commit-id: bb61f7332c41440901560838f6cda8b071f7422b
2013-01-30 01:36:54 +01:00
Lynix afddcd0804 Fixed MD2/MD5 meshs not having normals/tangents
Former-commit-id: 9456620961fc7e75482b4fc29394934a3d695c5e
2013-01-29 02:02:35 +01:00
Lynix fc5b1ade9b Added missing const
Former-commit-id: 354757698554c187792e92f1d471c65b870c74d4
2013-01-29 02:01:54 +01:00
Lynix 3409461c39 SkeletalMesh::Skin now use threads
Former-commit-id: 4b26b3e1950548887f0a7d246864a968688ca0b4
2013-01-29 02:01:28 +01:00
Lynix 56e66673d9 Material::Apply now apply shader
Former-commit-id: f0b221a29eb7a678b5544f20468d1956c7233f25
2013-01-29 01:59:40 +01:00
Lynix ba9ad75f58 Model::Update no longer skin mesh
Former-commit-id: 4179cdac6d14941c4e8c00eecb943779451246d1
2013-01-29 01:59:04 +01:00
Lynix 00d636fb1c Changed module initialisation behavior
Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314
2013-01-29 01:57:51 +01:00
Lynix 861c1b6a38 Added Light::GetLightType
Former-commit-id: 22739eaaed4daf0651860c34af30bbfad87f538f
2013-01-27 18:41:20 +01:00
Lynix 85c3224752 Added mesh generation of normals and tangents
Former-commit-id: 42b29acf5701b19156d6966b402baf11c87f3476
2013-01-27 18:39:32 +01:00
Lynix cf47081224 Optimized spot light shader
Former-commit-id: e8e345dc7d02f605b0df80146e9ffe47b10a304d
2013-01-24 01:01:49 +01:00
Lynix 85ccf53557 Fixed PluginManager::AddDirectory
Was not adding absolute path


Former-commit-id: 9eb89a3302fc82ced5c8c962f1cbb4cf41ffb072
2013-01-24 00:17:53 +01:00
Lynix 07f8f5d029 Added experimental PluginManager
Former-commit-id: 717e0a6b8a729a4c7c3bf0f377a93028543a1e2d
2013-01-15 16:54:41 +01:00
Lynix 09e0ab898d Relaxed constant access
Former-commit-id: 885a7f065ccf9ff1fdbef23c88b852bb2e48fac7
2013-01-15 16:53:59 +01:00
Lynix f338cc3609 Added Resource::GetResourceReferenceCount()
Former-commit-id: 1e07449a9a28887f2fd6fbc211590b360ec16dc1
2013-01-12 18:53:44 +01:00
Lynix 4a28e42d4d Improved Node interface
Former-commit-id: cbc204748d8cf30771743f26270324dee6ada242
2013-01-12 01:38:58 +01:00
Lynix a00d2d4c12 Increased source code reserved size
Made ShaderBuilder slightly faster


Former-commit-id: 412b2cd6e6081d4ccf5d6497244f3fa1f9800d32
2013-01-11 23:16:17 +01:00
Lynix 507022db7c Added light class
Former-commit-id: e2969fe35720e1ea2f982a86197237a50bef1389
2013-01-11 14:40:02 +01:00
Lynix 38d2a08968 Fixed MD2 leaks
Former-commit-id: 8bf46de1995fef13889c122c38dc59655bf8311f
2013-01-11 14:39:45 +01:00
Lynix c108deb999 Fixed specular mapping
Also made code clearer


Former-commit-id: f27a9214f356218fdf7e75003317a1678079fe2a
2013-01-11 14:37:50 +01:00
Lynix f8aedb2df1 Fixed reference bug
Former-commit-id: 9340098ca4eb052dabba384e9b7cee9130667104
2013-01-11 14:33:56 +01:00
Lynix 5a40e0d373 Fixed DebugDrawer color
Former-commit-id: 08b654b1d3002c76634f8ca3b2aa57e66f33e7ae
2013-01-11 14:33:43 +01:00
Lynix 842890e12e Added optional argument to Node::SetParent
Also fixed Set[Rotation|Scale|Translation] within global coordinate
system


Former-commit-id: 7808de7c3044f7b9261b22b7db521aad00d63c9b
2013-01-11 14:28:00 +01:00
Lynix e5731bee91 Added shader support to materials
Also fixed a lot of bugs related to materials


Former-commit-id: 54086eb3aa36c1a7b31b55056967275e6c24a4c6
2013-01-09 20:15:42 +01:00
Lynix e3293c6fe1 Added normal mapping
Former-commit-id: 7e54b1f01de7d5cf99c42d08d13ba606f73c453d
2013-01-09 01:36:18 +01:00
Lynix 946754d7be Added specular mapping
Former-commit-id: 329bcfc6b3d92809538c9416578329f11c6ef56f
2013-01-09 00:34:39 +01:00
Lynix 81472079c4 Optimized lighting shader
Former-commit-id: d8fb14c7ffe7dd4ec436661dc6b698f76ab900cb
2013-01-09 00:17:16 +01:00
Lynix a6c109ca1d Reverted back default GLSL version to 140
If supported, 110 if not


Former-commit-id: 65ae51fa9fa9c437d17de2e8b3158b8c2897dc80
2013-01-09 00:08:36 +01:00
Lynix abb806f27b Updated ShaderBuilder to support lighting
Compile into 150 core GLSL (or 110 if not supported)
When the ShaderBuild fails to build a shader, it returns the default
shader


Former-commit-id: ca04a6968bb104b9a63d40025d7eeba813a588b0
2013-01-08 18:38:00 +01:00
Lynix 093d0ab0b5 Changed default material ambient color
Former-commit-id: ad2260abbe06940413ee2cdabd58176364b54365
2013-01-08 17:31:59 +01:00
Lynix e6cef2ddbf Added move constructor/operator to Shader
Former-commit-id: b947e0ac0dcddcfe64c83b63cf89df0e0850cbd2
2013-01-08 17:31:42 +01:00
Lynix e194d11374 Fixed color alpha not being sent
Former-commit-id: 0f7d355b22790aa5487ff69b325c41613a94961e
2013-01-06 02:47:46 +01:00
Lynix da341001ab Made shader uniforms less verbose
Former-commit-id: aa77b9be3f84cad30b13ebe5d47bb9febd17631e
2013-01-06 01:06:55 +01:00
Lynix d177971810 Merged changes
Former-commit-id: 3431062688bcc29574e7611391d8cd356d484e9b
2013-01-06 00:21:49 +01:00
Lynix c93e8eb585 Updated shader convention
Vertex input are now prefixed by "Vertex" (VertexPosition, VertexNormal,
..)
Same for Material input (MaterialAmbientColor, MaterialShininess, ...)


Former-commit-id: 1fbf8b8b32546a21ee23ff83714c860a9a8fce4f
2013-01-05 23:52:41 +01:00
Lynix 62d238d236 Fixed spaces
Former-commit-id: 2045fa2b37d3f0cbcd9d9d9cdcadb962ea07ecd0
2013-01-05 19:51:40 +01:00
Lynix e6198f6b3d Fixed default value of shininess
Former-commit-id: c640ed5b74cc56bf9b4acf8af4fad40be1c55e76
2013-01-05 19:51:28 +01:00
Lynix 07aa5d095c Fixed matrices not being updated in the shader
Former-commit-id: 8eb208b656bec0d63163d2a00768a4216979a8b0
2013-01-05 19:51:01 +01:00
Lynix 29755989fd Fixed specular color not being applied
Former-commit-id: ab41e431e2f9ec0f9b3cd81d032f6218c7114c5b
2013-01-05 01:54:14 +01:00
Alexandre Janniaux c2e197bda5 Fix compilation errors for POSIX files and make premake4-linux executable.
Former-commit-id: bb094585a678b983e25b55c4fab00665e66f64c5
2013-01-05 01:53:54 +01:00
Lynix dba9470baf Fixed POSIX DynLib implementation
Former-commit-id: 17142fc657e5f6332f980ab9180c071e9de20280
2013-01-04 23:23:32 +01:00
Lynix 80d4159faa Added DebugDrawer::DrawTangents
Former-commit-id: 9116b5a878752ff193073ac6c156ddca54f8c501
2013-01-04 22:02:47 +01:00
Lynix e00779ebe0 [Core] Added POSIX support (Experimental)
Thanks to Danman
I don't think it actually compile although tried my best to correct
code.


Former-commit-id: c3366c2c924f7392f4d46824dafca63ecf7f1fea
2013-01-04 22:01:06 +01:00
Lynix 7785516f85 Fixed POSIX build
Former-commit-id: 51c9eec6b1bff341d0e80971da26c05f4224ac60
2013-01-04 18:35:24 +01:00
Lynix 45bf5f1f43 Renamed VertexMapper::GetTotalVertexCount
To GetVertexCount


Former-commit-id: fa876c5499664bce31d438ef596373d908c6977c
2013-01-04 16:33:26 +01:00
Lynix 5eac4de406 Added TriangleIterator::Unmap()
Former-commit-id: 8ef858c5374c6701c087d0f4b1644bb6704e1131
2013-01-04 16:32:14 +01:00
Lynix d4030f666b Added TriangleIterator (experimental)
Former-commit-id: b94f4d4a26a92f4acecf4c53291db80756feb289
2013-01-04 16:27:22 +01:00
Lynix cd80905c0f Removed resolved Fixme comment
Former-commit-id: f65bcdeb368f3b3de6fef0f1d378945c108860aa
2013-01-04 02:38:53 +01:00
Lynix be70e48118 Fixed Model::SetMesh bug with static meshs
Former-commit-id: 5fcccf6ac485528bcdd4f1250a2ba948a50ca456
2013-01-04 02:36:03 +01:00
Lynix 24af375694 Fixed static MD2 mesh loader (Close #4)
Former-commit-id: a894211c7222f64b47efc3d31cb90fc86f944683
2013-01-04 02:34:16 +01:00
Lynix ef5f4617c8 Added IndexMapper::GetBuffer()
Former-commit-id: 5b203ea56f2201f5ff3c6bbdbc7a6573ed59f136
2013-01-03 23:28:41 +01:00
Lynix 23edd637dd Fixed IndexMapper const constructor
Former-commit-id: c8f46bc8b29ff6bcfdbc7fa9b0a01eef68d07a7e
2013-01-03 22:21:15 +01:00
Lynix ab93fb802b Added support to sequential index buffers
Former-commit-id: 68a566ab9bfe0490ba25aeb1c7486722b4a4ed01
2013-01-03 22:08:22 +01:00
Lynix f43137dc4e Made use of IndexMapper
Former-commit-id: 6496ac4a5a5393363212ee6d452b2ba488aa3354
2013-01-03 21:28:54 +01:00
Lynix 9c76c78c0c Added IndexMapper
Former-commit-id: 994b30f41161855827d920b6c128a5bbd480929b
2013-01-03 21:26:51 +01:00
Lynix 6fb221b479 Added VertexMapper::Unmap
Former-commit-id: b4210cfd864a527fb63ac0b1976acf2c3c198274
2013-01-03 21:25:29 +01:00
Lynix 16cec38f9c Made use of BufferMapper
Former-commit-id: 2b24f9d6cabf9fbf639b2c5e9319aaa304fe809a
2013-01-03 19:42:25 +01:00
Lynix 182c667603 Added DebugDrawer::DrawNormals(submesh)
Former-commit-id: 9a2100f8df288b63d3b64c05871ae42c1fad97f6
2013-01-03 19:41:23 +01:00
Lynix 438d509130 Added VertexMapper
Former-commit-id: 26765f92782b61443544744ac145ccd02a8ed2b0
2013-01-03 19:39:52 +01:00
Lynix 81e95ecddf Improved KeyframeMesh AABB support
When you use KeyframeMesh::SetPosition(frame, vertex, pos), it will now
invalidate the frame AABB.
Finish() method will now generate automatically invalid AABBs before
interpolating


Former-commit-id: aa4695cee635da73e4a3b70ce22e83b1c3f443f9
2013-01-03 15:10:06 +01:00
Lynix c10a4eb94c Fixed keyframe normal/tangent interpolation
Former-commit-id: d4ee3e508945ff3ca85e435a24e520ccce1ebeb3
2013-01-03 12:31:01 +01:00
Lynix 844ab809d3 Fixed warning
Former-commit-id: 93cbeb5f38e5663a0d8960b139c6cd5fc530e695
2013-01-03 03:50:30 +01:00
Lynix 1e5c34d53a Constant buffer mapping returns non-const pointer
Former-commit-id: 37438d554d8733350fcecbbfc4ba0dad46256f73
2013-01-03 03:50:18 +01:00
Lynix 27dcd15d26 Fixed ShaderBuilder requirement
Former-commit-id: 39ddf1db5bec377afd478dcf557925d70925401c
2013-01-02 21:51:37 +01:00
Lynix c998a5c457 Added KeyframeMesh::Get/Set vertex components
Former-commit-id: ff51b02dfd5f0675c33c01f39418312834c5d8a9
2013-01-02 21:51:03 +01:00
Lynix 520643140c Fixed last commit
Former-commit-id: 5034392dbdab232be71f8537638ed75c1c81eab8
2013-01-02 13:41:26 +01:00
Lynix 02f5385eaf Buffer::Unmap no longer return boolean
Made no sense: What do you want to do when your buffer doesn't unmap ?
Tt now throw a warning by itself in case of failure


Former-commit-id: f776af16787316bbe1d55686a1db2c2e0f79d210
2012-12-31 11:30:19 +01:00
Lynix c65f0e9f7e Removed Keyframe mesh lock system (useless)
Former-commit-id: b7e661274510836cb46eb98b6b9e7135d21a4820
2012-12-31 11:20:14 +01:00
Lynix c73d10ab29 Added non-constant access to vertex buffer
Former-commit-id: c0fea611caf6fb48bd0b2ed56897c173f7acad41
2012-12-31 11:14:40 +01:00
Lynix 6fefa3fdd2 Added read-only const access to buffers
Former-commit-id: 555f079e277869bc8f32732f24dfee704e17f324
2012-12-31 11:12:45 +01:00
Lynix 11fccc4c4b Fixed MD2 animation
Former-commit-id: 3ba7d63f9518c64677e575e13d8a42b459c5151f
2012-12-29 01:37:44 +01:00
Lynix 15888b0f42 Fixed debug line width not applied
Former-commit-id: 374173039602080e82e0e4ce0967caea90599155
2012-12-28 23:08:37 +01:00
Lynix 49f37e17ae AxisAlignedBox::Transform now apply translation
Added an optionnal argument to prevent translation from being applied
Updated demo


Former-commit-id: c56cb04733379eb6dda98b150931fb0e496ef889
2012-12-28 22:57:40 +01:00
Lynix 31a04abcaa Fixed potential bug with fullscreen window style
Former-commit-id: 005102ed9fb53aba36a074deaa3245da3d479d06
2012-12-28 21:33:50 +01:00
Lynix c4a5d32f28 Fixed method alphabetic order
Former-commit-id: b37a42cb64fa729888ad50957fc8c73b17ef9620
2012-12-28 19:26:00 +01:00
Lynix 7d02e5a330 Fixed Model::SetSequence not handling error
Former-commit-id: 012dde1bd6b68723afc74ae1809804494d5eebb3
2012-12-27 22:24:52 +01:00
Lynix e5650698d2 Added copy/move constructor/operator to Material
Former-commit-id: a96676391754ee027bdd6c7b04118db3ea044eb3
2012-12-27 22:22:11 +01:00
Lynix 91b85589d9 Simplified code
Former-commit-id: f80280c30dad6c0a2dd1b5ff36ace6825963fc4c
2012-12-27 02:36:39 +01:00
Lynix 0a11e82432 DebugDrawer now use ShaderBuilder
Fixed demo not initializing debug drawer


Former-commit-id: a14612a374507501496f895ef6ba94886db98ec9
2012-12-25 12:29:19 +01:00
Lynix c65e3d5def It is now possible to use const shaders
A non-constant shader is no longer required to bind or to send uniform


Former-commit-id: 8fd7c03b65a2d9fcea69516c023fee034299148c
2012-12-25 12:26:40 +01:00
Lynix df7b11d1d2 Added ShaderBuilder
Former-commit-id: 0eee75821b7bb4b2b69a020c8e79f3cbe18b522f
2012-12-25 12:14:57 +01:00
Lynix a9e82f6014 Changed Shader conventions
Uniform variable are now CamelCase


Former-commit-id: 7b08fb6b7d32f0f9a92b5086719f3e9981483e16
2012-12-25 12:14:32 +01:00
Lynix ea1275e4f5 Fixed camelcase
Former-commit-id: 1f94fefc2f0ce07720ff19538903b9795605795a
2012-12-25 12:02:16 +01:00
Lynix c1751ae648 Fixed HybridMultiFractal*D code (missing "m_")
Former-commit-id: de44ce541d0d040f484faf58c9a308c291d99cf4
2012-12-25 02:02:57 +01:00
Lynix 33a929c198 Fixd Abstract*DNoise destructor not being virtual
Former-commit-id: 38af503709e79e0f13a63bd5da30072f11f1fa34
2012-12-25 02:01:41 +01:00
Lynix 1a4400facf Fixed module initialisation failure bug
If a module initialisation failed, then it resources may or may not be
freed.
This is fixed.


Former-commit-id: 029e0844e392685a31b3afc02c5bf772e015a372
2012-12-25 01:56:49 +01:00
Lynix dc3cfa40ec Made Texture constructor consistent
Former-commit-id: 92be798524a48cb979c09fa04558602bf3717391
2012-12-24 20:38:20 +01:00
Lynix 1a5cf8cc0f Fixed static variable in Renderer
Could not be used because of GPU-switching technologies like NVidia
Optimus


Former-commit-id: 7602e81747a40b1aceacc6b7d728ba269a30e333
2012-12-24 19:06:55 +01:00
Lynix 84496ee8b6 Fixed typo
Former-commit-id: f9c38ea20c5afe8b4656c04c2ac3543ee94fc1d4
2012-12-24 18:08:10 +01:00
Lynix 0e6215a47e (Material) Added non-constant sampler access
Former-commit-id: d2799fc353628afda09fdc45b04134aa541ee480
2012-12-19 00:38:06 +01:00
Lynix 10730de74e Refactored materials
(Renderer) Removed Apply function
(Renderer) Renamed SetTextureSampling to SetTextureSampler
Updated demo


Former-commit-id: d40a9ce05df35b078e645927451093da44eec314
2012-12-18 16:17:31 +01:00
Lynix 8b67d17e38 Added texture samplers
I hate Git branchs


Former-commit-id: 6978f1489cdc841d36fbcd6f1a8e01a4adbfcb8a
2012-12-17 14:56:29 +01:00
Lynix dc30b918a1 Fixed HashDigest::ToHex() result being of size 1
Former-commit-id: 698d263f6af00bdc1c622bd0575ac263b621f7a7
2012-12-15 22:17:09 +01:00
Lynix abb2db1c7d Fixed Nazara compilation on 64bits compiler
Former-commit-id: 5b9d8208691c34e30f4184c6a35f82a690c221f5
2012-12-14 23:23:56 +01:00
Lynix 025ed1cfd0 Renderer update
-Added Renderer::GetRendererName()
-Added Renderer::GetVendorName()
-Renamed VertexArrayObject to VertexArrayObjects


Former-commit-id: 93489d5f93f8258dec0c4d8bcf72185abd7f75a8
2012-12-13 20:16:09 +01:00
Lynix 73cb237925 Added HardwareInfo::IsInitialized()
Former-commit-id: ef668ac6d2e92a05730b56c892a693a21c7d651e
2012-12-13 19:57:05 +01:00
Lynix 4827711c89 (HardwareInfo) Fixed GetProcessorVendorName
Former-commit-id: b18ee100b3949f9ba982b81db9b5de2a234f191f
2012-12-13 17:44:03 +01:00
Lynix 1d6e6bc8cf Fixed core failed to initialize if cpuid failed
Former-commit-id: c95487666c09206720db795c41ae12ca0e22f7dc
2012-12-13 17:35:18 +01:00
Lynix 7820a3096b Refactored HardwareInfo
-Can now return processor brand string
-Can now return processor vendor name
-64 bits is now a processor capability


Former-commit-id: 02d0ded16911a88643f4c6799b234a7b18eebefc
2012-12-13 17:32:04 +01:00
Lynix 5c3be23a21 Fixed type inconsistency
Former-commit-id: a809c19cc4ad496c4f191ef3f9238ea2576ecbb4
2012-12-13 17:07:30 +01:00
Lynix 68c6aa664a Replaced OpenGL namespace with static class
Fixed OpenGL functions not being exported
It is also more consistent


Former-commit-id: 3eddcb6f72412443eb56580180d0b9544ae4a9df
2012-12-13 15:47:29 +01:00
Lynix 73fdb9baaf Added TextureWrap enum<->OpenGL association
Also made array syntax consistent


Former-commit-id: 65794e3eec2ea326da0ee71bcd7b8c31632ab71c
2012-12-13 11:39:15 +01:00
Lynix feda7eec4d Changed default debug line width to 1.5f
Former-commit-id: 15b1858aa40eb5d7b562f5ea8562b69f7aecf3cf
2012-12-13 11:38:19 +01:00
Lynix d5dc07f3ef Fixed possible bug with MD5 bind-pose translation
Former-commit-id: 3ef6eba4944db249a8cbb3d6fb5dad2abe87fd6a
2012-12-09 20:23:24 +01:00
Lynix 70b1047f72 Used smart pointers to handle new-allocated array
Former-commit-id: b346e191c56655dd1f3d7fd46208d879bccfcf9d
2012-12-09 18:39:29 +01:00
Lynix 8c37c92c16 Fixed MD5 loader with animated parameter to false
Former-commit-id: f8d80e0f3f70f92be2898c29f00dd4abcaeb18a1
2012-12-09 18:37:57 +01:00
Lynix 18d3b67364 Fixed error message missing right parenthese
Former-commit-id: a054d8e328dbe3a43c2f8615a52eeb79a1fe2031
2012-12-09 18:36:37 +01:00
Lynix 273c0b1a36 Made skinning vertex access clearer
Former-commit-id: 682cb547b3492f0cb9e446721c69b7c5acb748b5
2012-12-09 18:35:54 +01:00
Lynix 5bce3e26a2 Fixed StaticMesh not correctly referencing buffer
Former-commit-id: a63de7e4ec46d8237761a58ffcc7e6cafc30d6b5
2012-12-09 18:35:18 +01:00
Lynix 37d6b71036 Fixed mesh animating modifying template skeleton
Former-commit-id: d70bd2ed7c8a38f879641a4b22be4876f6825edb
2012-12-09 01:45:34 +01:00
Lynix b652bada13 Fixed copying a skeleton not copying hierarchy
Former-commit-id: 54a556f1c6c336ba2397b60dfaa2b316df11d59b
2012-12-09 01:44:40 +01:00
Lynix 883c5fa0da Fixed node derived formula
Former-commit-id: da4c46e3086640147b3503928ef05e03f3c8e4cb
2012-12-09 01:44:18 +01:00
Lynix a15a54494f Fixed the second last commit
Former-commit-id: 46d94a0b3c9e85d9b4dacaa6c360102e8a4448a4
2012-12-08 22:59:40 +01:00
Lynix ad86c4d6fb Fixed SetTranslation not invalidating node
Former-commit-id: f4f8f39e5c3d919d016b15b276b38c20b5e84205
2012-12-08 22:57:25 +01:00
Lynix 7e533209dc Added initial states to node
Former-commit-id: 2127584e3432c16841817632522ea3bb82c7a786
2012-12-08 22:56:22 +01:00
Lynix 8376fb38cf Module can now initialize optionnal classes
Former-commit-id: 899007b7879451d15d0808a03b8dfea0cd3413a4
2012-12-08 22:21:20 +01:00
Lynix 4dc1d88f7b Fixed TaskScheduler not resetting impl pointer
Former-commit-id: fdd46cdbce5b876fbb286439ccfc96f1f98ac4fe
2012-12-08 21:52:50 +01:00
Lynix dc9f202155 Fixed calling Uninitialize when not Initialized
Former-commit-id: 1d0bb01f881be76e163a5ac27c91d7fb6a873bb7
2012-12-08 21:51:43 +01:00
Lynix eb585116b1 Shader::SendTexture can now return texture unit
Former-commit-id: 38d5e5dedf94113933bb2090040feec602a4716c
2012-12-08 11:49:07 +01:00
Lynix 119a1420d1 Fixed OpenGL 4 not loading sampler objets
Also fixed file encoding


Former-commit-id: 51683c2d9dff8a56c96ad972c8b6d6006004f1f2
2012-12-08 11:48:30 +01:00
Lynix dc3af6ae69 Fixed typo
Former-commit-id: 3cd820fe6778c6731b051ff707ef576c3344451e
2012-12-06 12:05:56 +01:00
Lynix f72210e728 Removed useless code
Former-commit-id: bcd32832d5a3a9fc91a28dd4a76643f391c5ad2d
2012-12-06 01:02:04 +01:00
Lynix 6f495c654a Added TaskScheduler::GetWorkerCount()
Former-commit-id: db4bf747441a13f2d824410aa5be264b300e95d4
2012-12-06 01:01:26 +01:00
Lynix e699969b64 Added OpenGL support for sampler objects
Also prevented an exception launch by the SeparateShaderObjects code to
escape.


Former-commit-id: ae594e16a85c02f0c649ef573189b4b722f713c3
2012-12-04 13:50:08 +01:00
Lynix 9839e36171 Removed blanks
Former-commit-id: e3bcf84a1fcb36e52f953c5f18ca51aa9499ed61
2012-12-04 10:35:34 +01:00
Lynix 700a09b9c9 Fixed typo
Former-commit-id: a2a050220608320d0b13c7bb69b0752a36a253ae
2012-12-03 23:50:18 +01:00
Lynix 86c4899100 Fixed debug drawer not setting line width
Former-commit-id: 2fd8f6e6c4b3e42183955e047aaaf4c95e12841a
2012-12-03 23:50:11 +01:00
Lynix 2e40ad832e SubMeshs are now valid even when not animated
Former-commit-id: 5bd6289d30f4f6ffa1fcaf8d946aa9aba9cf7131
2012-12-03 16:24:47 +01:00
Lynix 817119933c Fixed SkeletalMesh AABB
Former-commit-id: 2b23660f80f3069581246af99c73fda45ee4d3d4
2012-12-03 15:06:10 +01:00
Lynix cc45746799 Improved keyframe mesh interface
Also improved animation performance by using a discard-and-write lock
when interpoling.


Former-commit-id: 277b5ad8f148ab73b99edf83cf8c6e5d0e6dfc82
2012-12-03 14:49:56 +01:00
Lynix ef567bd223 Added Task Scheduler
Former-commit-id: ac37f749ae78f364db3d3edfabc8221802579989
2012-12-03 01:30:04 +01:00
Lynix 780da2cfa5 Resolved conflicts
Former-commit-id: 4bd4e4f8435d701d16d3864dd030a6c1cff48c47
2012-12-02 21:49:14 +01:00
Lynix 7754ca36a4 Added Music loader
Former-commit-id: b0f1415a9fbc84152fa716c58794228d38c0bc63
2012-12-02 21:09:59 +01:00
Lynix 0a88b6531c Added Texture::HasMipmaps()
Former-commit-id: 4d21c32579e26e95a9376a4352fd50edd4ba0ed3
2012-12-02 17:01:57 +01:00
Lynix 325ac4e642 Added SceneNode::GetAABB()
Former-commit-id: 3ed0a0140e6afabeb915e763e6ead33c7f12fba5
2012-12-02 17:01:39 +01:00
Lynix b06acfcffd Index buffer no longer permit 8 bits index size
Modern graphics cards don't like 8 bits index size, so I introduced
"Large indices" option, it means 32 bits indices when used otherwise the
index size is 16 bits


Former-commit-id: 213902de6704ceef16c6ea311ba0c6c5d2f6e665
2012-12-02 17:01:02 +01:00
Remi Beges d0545eb760 Minor fixes
*Seed is uint instead of int
*Permutation table is uint instead of int, could lead before to program
crash with negative seeds


Former-commit-id: 49ad04987a09a5f5b4bcab6ee3916db9818172b6
2012-12-01 10:07:41 +01:00
Lynix b62ae632a0 Fixed interpolation while looping a sequence
Former-commit-id: dddcb6ba6116ebc0302355bb8cf93eaf6a0b612a
2012-11-30 15:22:01 +01:00
Lynix 73466a5c07 Fixed File::SetOpenMode when used with File::Text
Former-commit-id: c4cf25bba883d636366399346589768115bc6520
2012-11-29 17:46:40 +01:00
Lynix 3f0bb8a8bb Added music class
Former-commit-id: 5288191ecea17cb81e30a175869a2b4ea29dbc2f
2012-11-29 17:33:58 +01:00
Lynix a536bf467b Removed unused includes
Former-commit-id: 9088500a08f62107603127013a9f8d8a7c86cf8a
2012-11-29 17:29:45 +01:00
Lynix cbc98ce3f0 Made NzThread interface mimic std::thread one
Hopefully fixed the threaded window bug


Former-commit-id: 6dc3ca2a8bee1da591a9b97d202d4b73b10be8eb
2012-11-29 16:51:01 +01:00
Lynix a2eb55e74a Fixed repo
Former-commit-id: 5992da5ec759f05dabf82009e660ec58eed96365
2012-11-29 10:15:10 +01:00
Lynix 0a2e19fa22 Merge remote-tracking branch 'origin/3D-Engine'
Former-commit-id: 1781615fc780accbe6c11d55fd896038d97ffec9
2012-11-29 10:11:30 +01:00
Lynix 2e26d52248 Meshes no longer retains an animation pointer
Former-commit-id: da4d93b815c46284a8977d7fb142201dc23fff61
2012-11-27 23:33:11 +01:00
Lynix c019d02b91 Fixed compilation error
Former-commit-id: 16a0469bb1adcd5d0c31995db6e9bcdef08c785e
2012-11-27 23:30:53 +01:00
Lynix 7ad24eff08 Mesh no longer contains the animation
Former-commit-id: 5dfcfe50f9c82310303120031a0def594fafd4f7
2012-11-27 22:02:45 +01:00
Lynix 53730b532d Optimized Node::GetTransformMatrix
Former-commit-id: b7eadb5a47ec6c2a9d24b19f45058e1ce5d0be49
2012-11-27 21:45:21 +01:00
Lynix a1a1a3da0c Replaced mesh material system
Former-commit-id: 1a3f2e0a80211a17838f29e5c0b0fc9def89d30a
2012-11-27 21:45:00 +01:00
Lynix 5d9bf5ed7b (SubMesh) Renamed GetSkinIndex to GetMaterialIndex
Former-commit-id: 7d28e3baa39342234495c9637e7e4886ffdc4b5a
2012-11-27 21:44:32 +01:00
Lynix 626cebfffa Fixed debug include
Former-commit-id: e902beda6826a88d9e59da889817ad40c4b35746
2012-11-27 21:37:41 +01:00
Lynix f48b9ba370 (Material) Added methods to loads and get default
Former-commit-id: 9169e84208b0cddbe698daa9286c8b7eb6a8244c
2012-11-27 21:37:14 +01:00
Lynix 64601a72e7 Fixed ResourceLoader bad stream pos after recover
Former-commit-id: d7c7bb33e055ca44ca5690294b504d6ccb644dde
2012-11-27 21:36:04 +01:00
Lynix 4fbe508960 Removed debug error when copying a matrix
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25:14 +01:00
Lynix f1b1d2c7a2 Fixed sndfile loader not unregistred
Former-commit-id: 3531101229796dce479412732fdc921c644e1b9b
2012-11-25 19:38:32 +01:00
Lynix 38c1cf2ad0 Added Texture-to-Material loader
Former-commit-id: 789185ca38b4a995c67dfd054306cb920ca56b74
2012-11-25 19:33:58 +01:00
Lynix 18baa6b8c1 Fixed typo
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix 7f6003085f Fixed 3D module
Former-commit-id: 91b5980f101ab55ce9313e80cbf3ece8c0da9b0f
2012-11-25 16:12:30 +01:00
Lynix b662bca33d Added Material class
Former-commit-id: db16249b1ecbfdc59ecdca709cb75f4bf1b6d10b
2012-11-25 14:32:19 +01:00
Lynix d3c027e29c Added 3D engine
Former-commit-id: 2e1ea34ac98e25cb27fed050b46b68de4d2d8131
2012-11-24 18:34:49 +01:00
Lynix 42de28c037 Shader constructor no longer throw an exception
Former-commit-id: f66607a019bd8498623e350b9a4399d7b2028d1f
2012-11-24 10:15:24 +01:00
Lynix 20be46e866 Made mesh animating/skinning constant
Since it doesn't change any of the mesh proprieties


Former-commit-id: 47eb21f234570d6ffe3af542029f2086744944b0
2012-11-23 21:16:14 +01:00
Lynix 9cec8c3a4b Fixed typo
Former-commit-id: 3de64e02311033aa54524e33d7d136c9c405d3f7
2012-11-23 17:58:22 +01:00
Lynix a132b0a4e1 Fixed some files encoding (Were not UTF-8)
Former-commit-id: a7ceb40bf03381e69ee968f79b732584268493dd
2012-11-23 17:51:03 +01:00
Lynix 158fdbf62b Made inline-assembly more readable
Former-commit-id: 82d94d3c7f314d7d8396c0a73a53d2ffea7b4d3c
2012-11-23 17:48:58 +01:00
Lynix f4591bd331 Removed debug skinning clock
Former-commit-id: ee7dceb2863943952c9c0175fb3a32b136b9f84b
2012-11-22 12:11:26 +01:00
Lynix faee0b93b5 Added HardwareInfo class
Former-commit-id: 3db2f8f11d58b4b71b85f749ce2a12dcfff986bc
2012-11-22 11:07:02 +01:00
Lynix 70ef422950 Big skeletal animation update
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp

-Animation:
Renamed Create to Create[Keyframe|Skeletal]

-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method

-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method

-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory

-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object

-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function

-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material

-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise

-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function

-Quaternion:
Added ComputeW method
Added Conjugate method

-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration

-RenderWindow:
Made CopyTo[Image|Texture] method constant

-Resource
Fixed RemoveResourceListener crash

-ResourceLoader:
Loaders are now used in a LIFO context

-Stream:
Renamed GetLine method to ReadLine

-String:
Fixed Simplified

-Utility module
Added configuration define for strict resource parsing

-VertexBuffer
Now takes a VertexDeclaration pointer

-VertexDeclaration
No longer throw an error when getting a non-existing element


Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Remi Beges a0b7364eed Added HybridMultiF 3D & 4D
*new constructors for simple noises
*minor bufixes


Former-commit-id: 2f1e9b6b54087e79b3ac52fefc9bbd67fd45c0eb
2012-11-13 19:27:48 +01:00
Remi Beges 8f04f3e6a0 Added FBM 3D & 4D and HybridMultiFractal 2D + cleaned code
this commit will change the scale of values produced by fbm2d. This will
probably not happen again. As a consequence, fbm values will always be
constrained between -1 and 1, but do not perfectly stick to that scale.
There is no easy solution, if the user wants the best dynamic between -1
and 1, he should adjust manually the value by multiplying by a gain slightly superior to 1.


Former-commit-id: ebdba9e9f4bbb972abe355c07ec9f8bce42329b9
2012-11-09 18:38:50 +01:00
Jérôme Leclercq 94bb765a77 Added Shader::SendColor(Color)
Former-commit-id: e3af0e2cb75a437304ee274a6123114b41dd7d94
2012-11-08 14:25:48 +01:00
Jérôme Leclercq 7cc520be95 Random changes without any meaning
Former-commit-id: bcae279b389ea9c33afc27ac7f6eded6305fa134
2012-11-08 14:24:00 +01:00
Jérôme Leclercq 6c2bc910d2 Fixed log duplicating to stderr instead of stdout
Former-commit-id: 4eca34d28cd215d5d9a33435375fe9ae90071fb1
2012-11-08 14:22:12 +01:00
Jérôme Leclercq 1b61c97c8d Fixed NzFile::Text not being applied to stream
Former-commit-id: 59416a8ca8d86e9ef41945a168a9cc1e104efe4d
2012-11-08 14:21:40 +01:00
Remi Beges 7bd6202389 Merge remote-tracking branch 'upstream/master'
Former-commit-id: 8fe411f0146d6cc64cf8d32cc4896f7f417f62a5
2012-11-04 18:51:23 +01:00
Lynix 6301bd8f38 Fixed matrices not updated when changing shader
-Ugly fix


Former-commit-id: 19140fcf8966b1db9c2c324f4654db77f6a4aeef
2012-11-03 00:34:12 +01:00
Lynix c82b2510f0 Fixed NULL caracter in shader logs
Former-commit-id: 998033458dce185715f7539167fb88a402a34ff3
2012-11-03 00:15:16 +01:00
Lynix 6b9c88221a Added Shader::IsValid()
Former-commit-id: 829320e4fd92dafb829019d875135ca9b75a3db2
2012-11-02 23:47:09 +01:00
Lynix 9199e60436 Added implicit conversion from AABB to String
Former-commit-id: c41510f4e0527a174d4acb5f8f26f60f4984ce15
2012-11-02 21:50:33 +01:00
Lynix 1b3129868f Added NzRenderer::[Get/Set]LineWidth
Former-commit-id: 827f762294bb67debb2a7faed07b595df2b9d20d
2012-11-01 18:28:49 +01:00
Lynix 5c2f94f953 You can now change the point size
Former-commit-id: b0018b14973d36f822524e8e5b94ba940a63897f
2012-11-01 18:20:15 +01:00
Lynix d5416fb139 Fixed cast
Former-commit-id: 2cbcf9c10c0d2bfd2cf441528ddf712bee80d7bd
2012-10-30 19:24:05 +01:00
Lynix 1d217837cf Added compiler tests and fixed MinGW warnings
Former-commit-id: 550d467e0997065943dc0b18a36d1be0edbb8114
2012-10-30 18:52:38 +01:00
Lynix f1eb859707 Fixed fprintf specifiers
Thanks to Quentin Huot-Marchand


Former-commit-id: 07bb2a1c2a0baaebac42f1664487624f8d39e16c
2012-10-30 17:37:17 +01:00
Lynix 93a1738c55 Optimized VertexDeclaration::GetElement
Former-commit-id: a56498837ae2f6101e0641aab23b2d1d0f9130f3
2012-10-29 10:00:57 +01:00
Lynix 8132812c23 Interpolation factor is now only checked in debug
Former-commit-id: b5cf2b63740a0827403cac7843aca4b820b7687f
2012-10-29 09:59:55 +01:00
Lynix a608aa0e2a Cleaning loader code
Former-commit-id: a34fae25b7e70e1168fa6bfa089d8de991184036
2012-10-29 09:59:18 +01:00
Remi Beges 9fef43951b Replaced templates by float
*Since only valid template parameters were float and double, the whole
template aspect has been removed.
Double precision would only be used in extremely rare occasions
(applications needing high precision and slow performances), it is not
relevant to template the whole module for it.


Former-commit-id: fc6dd028189c608a6a7b4c312b3e5e3f53a01fd7
2012-10-27 18:59:39 +02:00
Lynix 3a9e8850c0 Added Keyboard::GetKeyName (experimental)
Former-commit-id: a937b98ceeed3cb7c64bf6c1f544bb7021ad01bd
2012-10-26 14:09:09 +02:00
Lynix 5f95dbe82e (NzImage) Fixed Convert crash and optimized Fill
Former-commit-id: 674acfd1e8e6fa28a8657ba45adedca311f54949
2012-10-24 18:41:13 +02:00
Lynix 5bbc8d0fa4 Fixed debug-mode compilation
-Also added multiplication operator and equality comparison to Cube and
Rect


Former-commit-id: b4194a50fbe3025d3be1fc25d48a85d5a05fc5ac
2012-10-08 23:08:46 +02:00
Remi Beges a72d388c05 Merge remote-tracking branch 'upstream/master'
Conflicts:
	include/Nazara/Noise/NoiseMachine.hpp
	src/Nazara/Noise/ComplexNoiseBase.cpp
	src/Nazara/Noise/NoiseMachine.cpp

Former-commit-id: 54af2e19e336cfacee63cabe785d7b05fa392b53
2012-10-05 17:53:41 +02:00
Lynix 91f0b97142 Fixed cracks in some Vorbis files
Thanks to Marisa-Chan for the fix in libsndfile


Former-commit-id: e60b7671f3ce4f03c5d387ca69e3883c496e7dc0
2012-10-04 23:41:10 +02:00
Lynix fcacaba7ca Cleaned code
Former-commit-id: a61b8bf3470036cd8a61199e78609206d959966f
2012-10-04 23:39:10 +02:00
Lynix 41bfaf6941 Fixed String::Simplified()
Former-commit-id: 6193b710728d0ff1ab0387428d65f0ce5bebd115
2012-10-04 09:34:29 +02:00
Lynix 10fc386865 Added VertexDeclaration::HasElement
Former-commit-id: 30dccfba56bba0e56c08da79c3fde3bdf94119cb
2012-10-04 09:33:54 +02:00
Lynix 7bab3d9443 Cleaned code
Former-commit-id: 65b235b0c8326e060ec7032bb2a153e22518a25a
2012-10-04 09:32:55 +02:00
Remi Beges 3f8e3cfb60 Modifications for the new architecture
to fullfill mixer implementation requirements
*Added FBM2D, first complex noise class of the new architecture
*Removed NoiseMachine, because was redundant and not fitting with the new
architecture
*Minor changes to almost every other noise class (mostly adding 'this->')
everywhere an inherited member from template base class was called from
the inherited class
2012-10-02 19:55:35 +02:00
Lynix 07e949404c Added NzStream and stream options
Former-commit-id: d2c69b12f34fffff4d412111e7af7cc4dbb638a8
2012-10-01 00:57:32 +02:00
Lynix 8d057fb3b1 Renamed GetBPP to GetBytesPerPixel
Also added GetBitsPerPixel


Former-commit-id: 9cc1df58133c538b1dc74215a9022d13dfd9d7f6
2012-09-30 23:11:00 +02:00
Lynix 49ac00f28d Fixed error message
Former-commit-id: f07c8fe20e7e11d49da8c114cdf518bf04484855
2012-09-23 18:07:31 +02:00
Lynix a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00
DigitalPulseSoftware 4b3772e2d8 Fixed typo
Former-commit-id: 440a4d3939cfee80ba4224dc8ed90084adaf0380
2012-09-21 14:20:38 +02:00
Jérôme Leclercq 84509ecc16 Fixed useless headers includes
Former-commit-id: 17429fb0c822b6044c7a990b85e05ca37dcd0b90
2012-09-21 12:41:48 +02:00
Jérôme Leclercq cc6f2a6fc9 Added InputStream::GetLine(size);
Former-commit-id: 4c5afc038877bfa9865285d044663df3f7932d58
2012-09-21 12:39:40 +02:00
Jérôme Leclercq 2ea37a1877 Added InputStream::EndOfStream()
Former-commit-id: d8618fbb677a73cb6890d913af66adb22e6c2a39
2012-09-21 12:07:13 +02:00
Jérôme Leclercq cd5a1b7a5e Added RenderTextures (And many others things)
-Added Forward, left and up vector (Vector3)
-Added Matrix4::ConcatenateAffine shortcut
-Added Quaternion::GetInverse() and Quaternion::Inverse()
-Added Resource listeners
-Added Depth and stencil pixel formats
-All enums now have an ending "max" entry
-Animation/Mesh::Add[Sequence/Skin/SubMesh] now returns a boolean
-Contexts are now resources
-Enhanced AnimatedMesh demo
-Fixed MD2 facing
-Fixed Vector3::CrossProduct
-Made Resource thread-safe
-Made OpenGL translation table global
-Many bugfixes
-MLT will now write malloc failure to the log
-Most of the strcpy were replaced with faster memcpy
-Occlusion queries availability is now always tested
-OpenGL-related includes now requires NAZARA_RENDERER_OPENGL to be
defined to have any effect
-Pixel formats now have a type
-Renamed RenderTarget::IsValid to IsRenderable
-Renamed Quaternion::GetNormalized() to GetNormal()
-Renamed Texture::Bind() to Prepare()
-Renamed VectorX::Make[Ceil|Floor] to Maximize/Minimize
-Removed MATH_MATRIX_COLUMN_MAJOR option (all matrices are column-major)
-Removed RENDERER_ACTIVATE_RENDERWINDOW_ON_CREATION option (Render
windows are active upon their creation)


Former-commit-id: 0d1da1e32c156a958221edf04a5315c75b354450
2012-09-20 22:07:30 +02:00
Lynix 40ec2003b4 Added Audio module
Fixed examples resources not being commited
Temporary removed static build configurations
2012-08-21 15:04:00 +02:00
Lynix 15afde86c8 Rewritted ResourceLoader and moved it to core
Added creation constructor to NzImage
Added member function functor
Added option to build Nazara as one library (instead of many)
Fixed some 2011 copyrights
Made use of "using def = T" C++11 feature instead of some illigible
typedefs
Removed unused premake file
2012-08-18 01:46:01 +02:00
Lynix 5619ddb0b1 Changed all the files encoding to UTF-8
Named modules in licence informations
2012-08-10 03:21:37 +02:00
Lynix f8a0cdad39 Added Windows shortcut to generate CodeLite project
Changed two submesh's error message
Fixed OpenGL.hpp/.cpp spaces for some displayers
OpenGL loads GL_kdr_debug if possible instead of GL_ARB_debug_output
Refactored external includes
2012-08-10 02:03:25 +02:00
Lynix b442ab0bd2 Refactored mathematics module
Added AABBs
Added code examples
Added experimental support for texture arrays (1D/2D)
Added initialisers (new way of initialising modules)
Added global headers (Plus a global header generator script)
Added pattern support for directory
Added support for spinlocks critical section on Windows
Added NzRenderWindow::SetFramerateLimit
Core project now includes Mathematics files
Fixed color implementation using double
Fixed declaration needing renderer include
Fixed MLT not clearing nextFree(File/Line) after Free
Fixed move operators not being noexcept
Fixed thread-safety (Now working correctly - If I'm lucky)
Moved Resource to core
New interface for modules
New interface for the renderer
Put some global functions to anonymous namespace
Removed empty modules
Renamed ThreadCondition to ConditionVariable
Replaced redirect to cerr log option by duplicate to cout
Setting mouse position relative to a window will make this window ignore
the event
Shaders sending methods no longer takes the uniform variable name (it's
using ID instead)
Using new OpenGL 4.3 header
2012-08-08 04:44:17 +02:00
Remi Beges ed200354cb Merge remote-tracking branch 'upstream/master' 2012-07-24 14:35:05 +02:00
Lynix 06eda4eba9 Added Meshes and Animations (And many more)
Added NzTexture::IsMipmappingSupported
Color::(FromTo)HSV now takes hue and saturation in degrees
Fixed Context::EnsureContext
Fixed COW thread-safety (String, Image, Matrix4)
Fixed Quatenion<T>::operator*(const Vector3<T>&)
Fixed ResourceLoader
Fixed String::Resize with a size of 0
Fixed Texture mipmapping crash
Fixed per-class thread-safety
IndexBuffer and VertexBuffer are now resources
It is now possible to use more than 8 texcoords per shader
Moved all enumerations into separate files (Core/Enums.hpp,
Utility/Enums.hpp, ..)
Removed NzContextParameters::defaultWindow
VertexDeclaration has been rewritten (New interface/COW)
2012-07-13 15:22:14 +02:00
Lynix ee8a6fda3b Fixed last commit 2012-07-01 02:06:40 +02:00
Lynix 7ed9e16664 NzString::Clear now takes an optional argument
Fixed NzString::ToDouble rejecting legal strings
NzString::Clear can now keep the internal buffer to improve performances
NzStringToNumber now takes an optional argument to check if the
conversion went well
Optimized NzString::ToInteger
2012-07-01 00:44:53 +02:00
Lynix d97e4a7f43 Fixed cursor change not showing immediatly
Fixed error message when failed to create icon
2012-06-24 15:06:17 +02:00
Lynix bcf36e7a14 Added support for custom cursor/icon 2012-06-24 13:28:24 +02:00
Lynix d851e35a56 Added NzWindow::SetCursor
Moved window flags to global scope (nzWindowStyle)
Removed NzWindow::ShowMouseCursor (superseded by SetCursor)
2012-06-23 15:02:17 +02:00
Lynix 71cf7876c5 Optimized image flipping
Added new extensible flipping system
Optimized NzTexture::Update(Face)
2012-06-22 23:18:37 +02:00
Lynix acc9b99ad2 Fixed typo 2012-06-22 09:57:24 +02:00
Lynix 445d6d236d Added NzBuffer::SetStorage
Fixed (Index/Vertex)Buffer::(Fill/Map) not filling/mapping the entire
buffer when the third argument was zero
Fixed Renderer not accepting sequential index buffer
2012-06-21 16:37:28 +02:00
Lynix ec9470ceb6 Moved buffers to Utility
Fixed NzVector4::operator/
Replaced enumName_Count by enumName_Max
Renamed (Index/Vertex)Buffer::GetBufferPtr by GetPointer
2012-06-21 09:49:47 +02:00
Remi Beges 9996a7169a Removed Physics module 2012-06-19 18:31:42 +02:00
Remi Beges f1865e5030 Sligthly changed interface & added functionnalities
NzPhysicsWorld has now a public pointer to NewtonWorld
NzCollisionShape added, can be constructed from a NzCube for now
NzPhysicsEntity added
Minor fix + typo
2012-06-18 10:24:06 +02:00
Remi Beges 092ccd0302 Forgot to commit src files and Newton headers in previous commit 2012-06-16 13:33:31 +02:00
Remi Beges 8c9e5ddc8f Merge remote-tracking branch 'upstream/master' 2012-06-16 12:45:59 +02:00
Lynix be0a5d2819 Fixed many bugs
Added NzOpenGL::GetEntry
Activated preprocessor error if not compiling with a C++11 compliant
compiler
Cube can now be constructed with a Rect
Desactived utility option "threaded window" (bugged)
Epured Image interface (No more UpdateFace, use Update with z = the face
you are targetting)
Fixed compilation errors (Thanks to RafBill)
Fixed predefined colors not exported
Fixed uplading pixels not aligned by 4 bytes
Fixed Thumbs.db files not ignored by git
NzImage now supports Filling and Flipping (Horizontally and vertically)
NzImage::Get(Const)Pixels now support pixel location
NzVector(2/3) can now return floatting distance/length with all types
NzVector(2/3/4) can now be constructed by a vector of smaller dimension
Premake now set "-std=c++11" build option for GCC
Renamed NzImage::(Get/Set)Pixel to (Get/Set)PixelColor
Updated new([])/delete([]) in the leaks tracker to the new C++11
signatures
2012-06-15 11:03:43 +02:00
Remi Beges 5fde943d9e Fixed minor bug in NoiseBase & Vector4 (typo) 2012-06-14 09:19:45 +02:00
Lynix e2a38b3790 First part of render texture commit
Added NzContext::EnsureContext and NzContext::GetThreadContext
Added NzCube
Added NzRect::GetCenter
Added methods to send vectors to shaders
Added NzRenderer::SetViewport
Fixed NzRect::ExtendTo calculations
Fixed NzImage::Update checks with level > 0
No longer use glTexStorage when creating a texture to prevent a bug
NzBuffer's Lock and Unlock operations renamed to Map and Unmap
NzVector2/3/4 can now cast implicitly to a pointer
Optimized compilation time of String.hpp
Optimized normalisaton of quaternions
Optimized passing uniforms to shaders
Quaternion now automaticaly Normalize h
Removed macro definition of NAZARA_RENDERER_OPENGL from Renderer
Removed implicit cast from NzVector2/3/4 to NzString
Renamed nzBufferLock to nzBufferAccess
Renamed NzRenderTarget::CanActivate to IsValid
2012-06-13 07:40:31 +02:00
Lynix b1632842ae Merge pull request #1 from Overdrivr/master
Merged Noise module
2012-06-12 01:35:08 -07:00
Remi Beges 90faf844ed Fixed contributor's name 2012-06-11 00:29:09 +02:00
Remi Beges 23bb9da0bd Fixed typo + minor errors 2012-06-10 10:27:51 +02:00
Remi Beges 879a33878e fixed typo 2012-06-09 17:07:01 +02:00
Remi Beges ebba6adae4 Simplex & Perlin fully work now (all dimensions) + dynaTerrain removed temp 2012-06-07 13:10:58 +02:00
Lynix ddd2a2f310 Added CopyTo(Image/Texture) to NzRenderWindow
Added several methods to NzRenderer
Optimized NzRenderer::GetMax*();
Nz(Render)Window::GetSize now returns an unsigned vector
Fixed textures being flipped
2012-06-05 23:06:47 +02:00
Remi Beges 5d7f8acbc8 Perlin 2,3,4 optimisations + Simplex imp fixed + improved architecture 2012-06-05 22:00:09 +02:00
Lynix a176648265 Added NzTexture
Added levelCount parameter to NzImageParams
Added NzPixelFormat::HasAlpha
Reformatted OpenGL debug messages
2012-06-05 10:54:06 +02:00
Lynix 49353cb636 Fixed crash with NzContext::Destroy
Fixed crash when calling NzContext::Destroy two times without recreating
a new context
2012-05-31 23:42:39 +02:00
Lynix dd4cb97a37 Added support for OpenGL debug mode
When NzContextParameters.debugMode is true, Nazara will receive OpenGL's
debug message and send them to Nazara's log
NzString::Pointer now have the "0x" prefix
Added support for ARB_texture_storage extension
Nazara now try to load core texture 3D before trying to load
EXT_texture3D
Added NazaraNotice macro, writing raw text into Nazara's log
Added NzContext::Destroy (called in Create)
2012-05-31 23:33:47 +02:00
Lynix f4b194f6fe Fixed rendering with OpenGL core profile
Added (automatic) support of Vertex Arrays Objects (VAO) to fix
rendering with an OpenGL core profile (OpenGL 3.2 require the use of
VAOs)
Added level check to NzImage::GetDepth/Height/Size/Width
Fixed occlussion query support not correctly setted
2012-05-31 18:18:28 +02:00
Remi Beges 4d975fa67e Forgot to commit some stuff (noise+dynaterrain) from previous commit 2012-05-31 15:35:52 +02:00
Lynix 3720967802 Fixed compilation error from last commit
Fixed NzImage::GetWidth/Height/Depth returning 0 when level > image's
max level
2012-05-30 19:21:20 +02:00
Lynix b220e00c88 NzImage now handles mipmaps
Added NzRenderer::SetClearColor(const Color&)
Added describe comment for pixel formats
Fixed NzPixelFormat conversion for RGBA4 and RGB5A1 types
Fixed NzRenderer::Clear prototype
Renamed NzLock to NzLockGuard
ResourceLoader's loaders are now tested from newest to oldest
2012-05-30 18:10:17 +02:00
Remi Beges 57d9af6b56 NzNoise new architecture + Perlin 1D algorithm modified 2012-05-29 20:28:31 +02:00
Lynix f39e2f7d36 NzString::Trim(med) can now take a limit flag
Fixed NzString::Simplified removing non-separator character with
HandleUtf8 flag
2012-05-28 16:21:27 +02:00
Remi Beges cd701a429b 'q' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.
2012-05-27 21:15:12 +02:00
Lynix 96ea5fdaa7 Added NzImage::Get/SetPixel(Face)
NzImage::Update(const nzUInt8* pixels, const NzRectui& rect) now takes a
third argument to specify the layer of the 3D image (if a 3D image),
default to 0
Optimized NzPixelFormat conversion from RGBA4
Added NzColor
2012-05-27 11:57:34 +02:00
Lynix 7659fdf460 Window's subsystem is now initialized by NzUtility
Optimized Image
2012-05-25 12:23:04 +02:00
Lynix f55cf96713 Optimized NzImage::Convert
Removed debug warning
2012-05-25 07:42:48 +02:00
Remi Beges 5f765a354b Changed contributor name 2012-05-24 20:54:01 +02:00
Overdrivr 341eda975c NzNoise added 2012-05-24 20:41:08 +02:00
Lynix b243d15c74 Added formats conversion
Functor, NonCopyable, Tuple are now parts of NazaraCore (NazaraCore no
longer needs NazaraUtility)
Added loadFormat image parameter (ask loader to load image in specific
format)
Fixed utility project building
It is now possible to convert, get validity or get name of pixel formats
Changed endianness macros' name
Removed useless NazaraEndianness macro
Removed unused files
2012-05-24 18:55:48 +02:00
Lynix 506ad84def Experimental fix of FileImpl::EndOfFile on Windows 2012-05-22 11:36:34 +02:00
Lynix dba9cb0ddf Fixed PCX loading on big-endian architectures 2012-05-22 07:48:28 +02:00
Lynix 9b3f4e794a Added Image
Added pixel format support
Added MemoryStream
Added Rect
Added ResourceLoader
Added generic loader (bmp, gif, hdr, jpg, jpeg, pic, png, psd, tga)
Added PCX loader
Added utility module initializer
Fixed Config.hpp include
Prerequesites.hpp now overwrites _WIN32_WINNT when defined
version is less than requiered version
Renderer's initialisation will implicitly initialize utility module
Removed RENDERER_SINGLETON option
Shaders are now resources
2012-05-21 21:54:13 +02:00
Lynix cef402c8a5 Added NzInputStream
Added NzFile::Read(buffer, size)
NzFile::Read(nullptr, size) now acts as a skip function (ex: SetCursorPos(GetCursorPos() + size)
2012-05-15 13:26:35 +02:00
Lynix 68b238fc74 Added SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 support 2012-05-10 00:53:36 +02:00
Lynix 997b6637d4 Fixed errors line number 2012-05-09 06:59:58 +02:00
Lynix e91cde657b Fixed per-class thread safety 2012-05-08 08:20:57 +02:00
Lynix 45f3fc4e28 Implemented COW into NzMatrix4; Optimized NzString COW 2012-05-07 13:02:07 +02:00
Lynix 8c420b48c3 Fixed compilation in debug mode 2012-05-04 16:06:18 +02:00
Lynix a215920818 It is now possible to send uniforms to shader when they are not mounted; Added shader locking 2012-05-04 08:56:35 +02:00
Lynix a4cbe46e15 Restablished core context creation, removed debug messages 2012-05-04 07:34:43 +02:00
Lynix 5d816122c8 NzHardwareBuffer::Fill now call glBufferSubData instead of glMapBuffer is the locked size is under 32k 2012-05-03 00:26:06 +02:00
Lynix 63a220a349 Added occlusion queries 2012-05-03 00:07:58 +02:00
Lynix 5eee4acb74 Made MLT thread-safe 2012-05-02 16:58:48 +02:00
Lynix 7d117ce97c Laid the basis for rendering 2012-05-02 16:45:44 +02:00
Lynix e8ef4b59da Fixed collaborator's name 2012-05-01 17:44:14 +02:00
Lynix 71b4262c51 First commit 2012-05-01 16:43:48 +02:00