Commit Graph

352 Commits

Author SHA1 Message Date
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