From f747db4e27ca7a99878db4cd9364ee93943896f2 Mon Sep 17 00:00:00 2001 From: Atdunbg Date: Wed, 24 Dec 2025 10:10:24 +0800 Subject: [PATCH] add physX colliders ,add trigger, colliders now can visible, some rotation for cs and native cpp connection --- Editor/Editor/EditorLayer.cpp | 32 +- Editor/assets/meshes/Capsule.fbx | Bin 0 -> 720028 bytes Editor/assets/scenes/FPSDemo.scene | 167 ++++++++ Editor/assets/scenes/Physics3DTest.scene | 24 ++ Editor/assets/shaders/Collider.glsl | 24 ++ ExampleApp/Src/FPSPlayer.cs | 115 ++++++ ExampleApp/Src/PlayerSphere.cs | 28 +- Prism-ScriptCore/Src/Prism/Entity.cs | 70 ++-- Prism-ScriptCore/Src/Prism/Input.cs | 25 ++ Prism-ScriptCore/Src/Prism/Math/Queternion.cs | 56 +++ Prism-ScriptCore/Src/Prism/Math/Vec2.cs | 21 +- Prism-ScriptCore/Src/Prism/Math/Vec3.cs | 66 ++- Prism-ScriptCore/Src/Prism/Math/Vec4.cs | 10 +- .../Src/Prism/Physics/Colliders.cs | 77 ++++ Prism-ScriptCore/Src/Prism/Scene/Component.cs | 60 +++ Prism/src/Prism/Core/Core.h | 5 + Prism/src/Prism/Core/Input.h | 10 + Prism/src/Prism/Editor/EditorCamera.cpp | 3 - Prism/src/Prism/Editor/SceneHierachyPanel.cpp | 126 +++++- Prism/src/Prism/Editor/SceneHierachyPanel.h | 3 + Prism/src/Prism/Physics/Physics3D.cpp | 320 +++++++-------- Prism/src/Prism/Physics/Physics3D.h | 35 +- Prism/src/Prism/Physics/PhysicsUtils.cpp | 149 +++++++ Prism/src/Prism/Physics/PhysicsUtils.h | 46 +++ Prism/src/Prism/Physics/PxPhysicsWrappers.cpp | 282 +++++++++++++ Prism/src/Prism/Physics/PxPhysicsWrappers.h | 46 +++ .../Prism/Platform/Windows/WindowsInput.cpp | 16 +- .../Prism/Platform/Windows/WindowsWindow.cpp | 3 +- Prism/src/Prism/Renderer/Mesh.cpp | 36 +- Prism/src/Prism/Renderer/Mesh.h | 1 + Prism/src/Prism/Renderer/MeshFactory.cpp | 172 ++++++++ Prism/src/Prism/Renderer/MeshFactory.h | 22 + Prism/src/Prism/Renderer/SceneRenderer.cpp | 343 +++++++++------- Prism/src/Prism/Renderer/SceneRenderer.h | 6 + Prism/src/Prism/Scene/Components.h | 19 +- Prism/src/Prism/Scene/Scene.cpp | 384 ++++-------------- Prism/src/Prism/Scene/Scene.h | 2 +- Prism/src/Prism/Scene/SceneCamera.h | 2 +- Prism/src/Prism/Scene/SceneSerializer.cpp | 73 +++- Prism/src/Prism/Script/ScriptEngine.cpp | 80 ++-- Prism/src/Prism/Script/ScriptEngine.h | 14 +- .../src/Prism/Script/ScriptEngineRegistry.cpp | 28 +- Prism/src/Prism/Script/ScriptWarppers.cpp | 154 +++++-- Prism/src/Prism/Script/ScriptWarppers.h | 27 +- 44 files changed, 2322 insertions(+), 860 deletions(-) create mode 100644 Editor/assets/meshes/Capsule.fbx create mode 100644 Editor/assets/scenes/FPSDemo.scene create mode 100644 Editor/assets/shaders/Collider.glsl create mode 100644 ExampleApp/Src/FPSPlayer.cs create mode 100644 Prism-ScriptCore/Src/Prism/Math/Queternion.cs create mode 100644 Prism-ScriptCore/Src/Prism/Physics/Colliders.cs create mode 100644 Prism/src/Prism/Physics/PhysicsUtils.cpp create mode 100644 Prism/src/Prism/Physics/PhysicsUtils.h create mode 100644 Prism/src/Prism/Physics/PxPhysicsWrappers.cpp create mode 100644 Prism/src/Prism/Physics/PxPhysicsWrappers.h create mode 100644 Prism/src/Prism/Renderer/MeshFactory.cpp create mode 100644 Prism/src/Prism/Renderer/MeshFactory.h diff --git a/Editor/Editor/EditorLayer.cpp b/Editor/Editor/EditorLayer.cpp index 0b32dea..0dd6a2d 100644 --- a/Editor/Editor/EditorLayer.cpp +++ b/Editor/Editor/EditorLayer.cpp @@ -9,6 +9,7 @@ #include "glm/gtx/matrix_decompose.hpp" #include "Prism/Core/Input.h" +#include "Prism/Physics/Physics3D.h" #include "Prism/Renderer/Renderer2D.h" #include "Prism/Script/ScriptEngine.h" @@ -172,7 +173,7 @@ namespace Prism m_CheckerboardTex = Texture2D::Create("assets/editor/Checkerboard.tga"); m_PlayButtonTex = Texture2D::Create("assets/editor/PlayButton.png"); - m_EditorScene = Ref::Create(); + m_EditorScene = Ref::Create("untitled Scene", true); ScriptEngine::SetSceneContext(m_EditorScene); m_SceneHierarchyPanel = CreateScope(m_EditorScene); m_SceneHierarchyPanel->SetSelectionChangedCallback(std::bind(&EditorLayer::SelectEntity, this, std::placeholders::_1)); @@ -199,7 +200,7 @@ namespace Prism if (m_DrawOnTopBoundingBoxes) { Renderer::BeginRenderPass(SceneRenderer::GetFinalRenderPass(), false); - auto viewProj = m_EditorCamera.GetViewProjection(); + const auto viewProj = m_EditorCamera.GetViewProjection(); Renderer2D::BeginScene(viewProj, false); // TODO: Renderer::DrawAABB(m_MeshEntity.GetComponent(), m_MeshEntity.GetComponent()); Renderer2D::EndScene(); @@ -233,7 +234,7 @@ namespace Prism const glm::vec3 rotation = glm::eulerAngles(rotationQuat); Renderer::BeginRenderPass(SceneRenderer::GetFinalRenderPass(), false); - auto viewProj = m_EditorCamera.GetViewProjection(); + const auto viewProj = m_EditorCamera.GetViewProjection(); Renderer2D::BeginScene(viewProj, false); Renderer2D::DrawRotatedQuad({ translation.x, translation.y }, size * 2.0f, glm::degrees(rotation.z), { 1.0f, 0.0f, 1.0f, 1.0f }); Renderer2D::EndScene(); @@ -360,6 +361,21 @@ namespace Prism ImGui::EndMenu(); } + if (ImGui::BeginMenu("Tools")) + { + // PhysX Debugger + if (ImGui::MenuItem("Connect to PVD")) + { + Physics3D::ConnectPVD(); + } + if (ImGui::MenuItem("Disconnect from PVD", nullptr, nullptr, Physics3D::IsPVDConnected())) + { + Physics3D::DisconnectPVD(); + } + + ImGui::EndMenu(); + } + ImGui::EndMenuBar(); } @@ -914,8 +930,8 @@ namespace Prism glm::inverse(glm::mat3(entity.Transform()) * glm::mat3(submesh.Transform)) * direction }; - float t; - if (bool intersects = ray.IntersectsAABB(submesh.BoundingBox, t)) + float t = 0; + if (ray.IntersectsAABB(submesh.BoundingBox, t)) { const auto& triangleCache = mesh->GetTriangleCache(i); for (const auto& triangle : triangleCache) @@ -1029,10 +1045,10 @@ namespace Prism void EditorLayer::OpenScene() { const auto& app = Application::Get(); - const std::string filepath = app.OpenFile("Hazel Scene (*.hsc)\0*.hsc\0"); + const std::string filepath = app.OpenFile("Prism Scene (*.hsc)\0*.hsc\0"); if (!filepath.empty()) { - const Ref newScene = Ref::Create(); + const Ref newScene = Ref::Create("EditorScene", true); SceneSerializer serializer(newScene); serializer.Deserialize(filepath); m_EditorScene = newScene; @@ -1057,7 +1073,7 @@ namespace Prism void EditorLayer::SaveSceneAs() { auto& app = Application::Get(); - std::string filepath = app.SaveFile("Hazel Scene (*.hsc)\0*.hsc\0"); + std::string filepath = app.SaveFile("Prism Scene (*.hsc)\0*.hsc\0"); if (!filepath.empty()) { SceneSerializer serializer(m_EditorScene); diff --git a/Editor/assets/meshes/Capsule.fbx b/Editor/assets/meshes/Capsule.fbx new file mode 100644 index 0000000000000000000000000000000000000000..22157fc188d574e565c84430fc99b8aa40124f06 GIT binary patch literal 720028 zcmbqa3p|wR_t#aW*lujObyo?MH13ijF(%7_8rHSt?1~%Lkg@r?WlGC7E30pYX5!&x81&CA z%9}STZ?=GSP6aXr_{_#S;@ok@?oJ36ozKV>Iqcwy{wXr$kDgi3v)>!%wZnnnunH)F z50QEBnU3lJJGoa!*o$iVcWEC%hl9kwKC?`51P2uB*tbTXn$$7F5>If&VNqhrq-Iep z@$gZcBVoKFb5h4leImgH1cMSVC$-PogCqMOUPrvgdpMJOEO5v1s40&3hybVP0>_tN zfVjEg+$SbM0e^pXPO|v9d%X}3oEHI)^Tup+19Fs913pvsV#VNV2jWOXQTBVeVo|a^ zSb`Vc-5HCD1Z{&ak@0~lP6&wKOWEl#i7JHAhCYB1M~8Sh{u`t=K$;HZt0s_8ZJB%F zonZsJj;juq=z$R3k4&%uy&?uM99@D5d|>XS@b#6#U*E&S74JB{#SVbcft)9=2u6xb z;4FZ*uV!h8!jF^03z5yC7m$C3ufIb!bAZkJ_qbA%aR1BPdxhXe6X59H`a5u;5BLWD zT%ek~Y4(C3P+6ExfTDZkcTg~4oF(`fdm~fJaZ!G4_(POfl;4e;RN&tx4a~-68#ii> z|5M($apNr^v{1$KCqomV68PJL~(7mOlv5cTJ!}eE1gQ8Erf8!$-Kf(Lj%=O%-tBP_NZyv5sQ5^1~3&)`=pZlk9 zhe{2#GNp~1;NP-MLR$li+c+JzJqrH6hK^I{{t!Om6Tt$DBM`uwd8-SjK*jjG>;DAK zhd7DmPpx zzdN3Qb#!pW89F!;Ab_BHKY|b;aT$L#Bf1?Hs(T0Yz{AsfD@54_e}Sc-hW=j zaG$7U?V3PC%~Rj)Fdibb0pbb_fsu%ezgZY<$D-?>XoeRNAxD4r;tr_jV14)ikEn(0 zz&SY(T?qyd&b%DH;fc^h67q*5L`O*A_CiYR0Z9%1IPSI(ZuJBl$`cxEOpzlvEb8lV z?nJjg;*2pG5t@V~suLtA2Pg^F!@(U=VK2h?TK0@Lp$OwI@I4;q(QlCzAPRH|o8bdX zKn3#$0OIjY`iIq@UZC61MMytM*#<;!0^(-q1tPG3aQV;5R^J9d-*_IQOAT z889pA7f{Y;7(lK;71T(M$lRuC7yT5*$w4^x}I47JJ&fO8`{imU|ihukm1}2M#9RYNG5jGqrsuk+_n;qX@gbfP~!k0JJZxN+I7U()v-~&rWef?f9yc>GTKLCfL!+2LbfjsVc4kL*0%mQOX#`hXlNW6Z6 z7}c2pB%t2Qur3Zq5FhVv(OnYKZJ3~gMTuD89C6_O{)rMs{>WpsYQl<8?=;zp(3PUD z)b%rP@YTpCIgi~!y6>70x(9V&;MeC*CgcwJJUWZem!etSJ|ftkmpfYXfSkt50~xo+ z>Cp3E&Kw0S0D9C=_P_`9fo>uTgy4YgOminEZye#@Dq0>?ivsVS07iB76?iZHIP$M? zeg2AzMtMjL|2KY%g}BBO{Gu8W;{H$U&H*=t>PLA37Cn7gdO5gzgHAxi6R!I2%ofIp zI0Ef|>1Gn`|FEs;-v|EpySq=g+DRMj&m8~qt+j511O=7THz^N(i}L6{Q6Bmh<=yX7 zI*`7}E$g2szsc>-utUGIP6yIAx!o(IoaFqzZYXmvD9eqn@^5zdH6h(rkS^?S^ql;a z4pKHpoFU?6f_K9c%-vo8*73r4k$NG9)&vG@l|L{Dcqb=!oVWKc|D1F|Y6C}Jbot){ zI`|_%$PWM=`VpWsA<)K&rJ?%`JuaEx-2a(+)wXGHMnFk~IX;>m@Abm{E?+c@_!nXK zkPvl}FWQTE6aH7&2!KU}k0xUOT>@jyWdg&y$d=HsOTcs zO)L`iXU}$-c?tx$lyFlSzhY9@RHFZ22D5H#yt^ zWkpom```nv2*T;t(-z)wQpWIalh1e|yx9ainso^eb9l$E-r(P23xwFF6WEa0|A8&E zgCBvOWKh4Gm>v`nP#Y13YBXmCHoJD^Y3H)&{`tCkMTomsTE>q{GoE8Uf_xi=k82!`61OTm!A;Hw_$#0MK1pc^Fxcu z_#2oB1^vGk)%TAuKeQ;FWq*~;pSk&=MV%7DU?wz$9%msRL+epT^xd6Ze{2gC`~%1j zEokoYi3NR&lOI~nb^t-+tT5D|%P~QaWBP=z<)-l*^}lO^zCtQt2u3~BevgSX^t*H^ zLYCnRb;{_(SQo_S?~YGXps!OnTzz6V!~qdAoHLwjkK>@g4EOy6D9gabJ<-DhfvPYH z_ct{iwG|U`5~9FC<7+)zp8)sQhtc0Pz^@KS-@b7{uMnJsC@Uv;K`W((UO1fZL=pSH zriD(C$iEVpnD2mU+28Sr67Ycljab5vg4U2s99@@94px8HhLU1YY3U2S{NL5vjDc+w zdl!5_@MzA8V*ehg{?Y&g{uwn!h-x^2iso-9>em?c-+%uF^Y0>5Jz$~{YV!mpnx#!D z+x^#{e}lMj)dc;{33@ntO`=~WOfMavc8vW_*ElZvpYfs~`tk!06HYy-9?+mVxkNV$ z{x(GmW_SnJtH2#P23_H#D%}eqDVnAHwa|-d9SXfzqL&k#ruVua?#`J&@b&pqwN85V z1o$TC6)GAnT|)6{yh`|uyBn09aooK^a)k+URNSU;@q;&UAPdj`e`D$KK!h6C_6Z_% z{X5<8-rlfHCyLD|{2y0O|7fg@LMDVJfcm7bc$040CS9-n36ZC#vSxxG{Rw_h+y2wF z*x#}K5}`=Zt(h*vzp9$~Z*7Y(7TxDA1;l>pwfV@(R2a;J!|a1d&4D=BM$vF)<0k90Kxe4 zSKV0xG|HP6d_eA~?j}S3IFC<+JYpw+pqwKtOHGFRUpSqQlKjGHxv9gzm@=p z%5;*?!or0$(bd80J3i~%PU4!7y-7anE8ZlgzHP@PLVBeM`Jr}?zzim?ubf=b3w*@=JMw_xgwX%5uf>8nzmFH4xViOy-aBXf`Wy^YWY*UUSCc9~45})T zag#S7!|e_fxJ9OX?H|w4(3@3@4Zj15{3+1>(F||iFzRbqm-veD^*6fyFo0=3b$r0i zl~YA#K?ea3m)A!`q9@4Ip_MenCdTK5S&MW*=jHv^R;_RUW#7S?s~-&4?>o5oDmH5M z{m;aOQMWf2svqcM30j|Uj_o`fA)9#ldaqweKP{b43mSRf<=?=Mf1IOW7It4SmOSQY?LH_o1b~E-<3SUOVd7Q)?|4Szc!UNw!V@a-dO9 zZN}q)Wo;7uX9zm9O($Ki`pZQ-ioKcKvXPPl&jQ;IWZkJYj`PuLvz6XS zTk0o8iydgtEt3z@D+^wzyc@()&%9MpAbRjv3NYJo4D4 zdcOU^yQtiSoTmPp7y&l_jCv4nW+Zi?j_%1E_se+{R_U`%J;N4oL!p*wD{UKwD%hqODpfOw?2~0#J(riddB&)z*|5Ze z25@(!do%MWat8#8pLzp*NSU(}YuQ7=Sao`hoy5~n*7CGGO2B{A+LkD5(a8bQgcpOC zs?_NrX(ihvoTwfo{sl(ECd~#F@46OdoLK#1WQyEr48M72S;m7?%Jh&3IZ?e-wtZ;? znLEqg;%HQ%b%e9Ps8hO?er8+>^yED!6w7sE@+gPw;@t^3wGm}(=7u^kv!1Jk;>emj zx2D@|RnG@>*hh{vmzj+(0hE9&V1e%6FVLFHN4z=hcdsB*B@-rb+CtUT+R%VkLqd&Si0gXhSfo+sOJ zd6L%@Pjl`!1eCE&t=^iJbVU-yk-j)lUO;V9XBNG({#0jqVBj0JsmjpNWxD3UyTy^f zOQMWRge=EbH$MGLO?K22&*vKY*{~jU%ADex+k2734oLfV(i({av5%7tlgE@n^O7|B zyw5Xi^|T9Hlse^0v-w0@R-keyC*6A(*pBQ!@dcM621X(1vH6rAC$7`#_W3xiINJWU z0^jMtPe{2;P^O-={Db6eXa_`#7JWAA+6qR)BkYgz32~NB#Q#Ct}GMe?K z@smHr^Kqedr5jJwddu}ZitiWirXy8zLoxLOYt;84Ij~h~1B^?unMXr0BV2voFAL+m zN#%q5GXBxZ_bp0T9c`)lV>yM^!N>Is`#ZzU!CHf!2xd3reH;--d`+`AU2&iJz>9

+>YKaFdXk%SDz5M+?l9=L`)$)|*MQrAg!a6n0 zl46_o?x#-2Gj>(C(TXmGH6cS+t~S2&J9ajYlEYK2U1yt3%cJxcDt!nwd-iB*HM=Wi z-Sv6HH?`_zS%iZUfp?_ro~XwaB=^}kc^t+Jf8sgWF{aBuY@4G=ugSP^B7&C-;!*2$ zY+{EOfU~{5r&0gXKn0t5d|*+@d-?td&==2QNDiX}o^yZQ?VtzB>0abxWGNa`y{0A2 zSTOrNr{^7&KoX0T4M~^OZRtLqF)KF9R)fh_Qm>Sx)!bODJqy{|x#N?5VNz)bW+ZPZ ztyr)U_J*YUYL=!Zy{*99d~GTNY|(V>yEqsQDR9bK%aN+8q8~~ zT4Q6>YM`sJJ9^lvlC4DYnjf20^P!y09Ic#PvZq6i!;{qA=dmCsW6#MvYm&bxA%c;S zN5S+4zkL?2-$|p(HkkS{>q>FDuL>;}mDqNE>f|Mf6GPqgvZmOQ#7Z`taj&9_o1Mm} z^y+^K3>AmSp?G;0z4ADTf201UWWBR`_rh^6krZ~sRjzGlNB{BxjS@!G<`gachM~kf ziU#eO)!jNN-z>V4dZ|ho^TAc`1jo-vTDW+aouA**=k)rKpKWSpm_MgyTb_HiKI;RU z8C|$*eN;(Vyqo1N}h!$ zK$N)Jx}TR#(F_5xHXZVnQwt)J_(6&nIbT|iHSv!=QPBIsOR{#_CRi+PhejTs=+ zmb7EiyoHZ#J9(|h=a ztva3N1w=7?C^i02>yl@kzv5wQRUItteKaVJuo_BAE*4AlU-KrZJ`vTon&$+&0PA;~ zB8Iswh765pl?I0WrKI_Yc5v4Z+ zhr>TTX&-u=N2#^RM(&E1><5=6t0EpoP|54k7|?MyuVf?!p0zv1fRt)o(5)dW(I6uE zSk;Wc#NDuIRkPAxW_&)EdB01Sp7Wm!Q&Fqq`O_n*&olBOE6!R$BBkf|a{o>I{X7cO ze(~^c%Ufhw!;Y%w;@IGVW61O3>@zeN8Z>z})6zdy{owU_HuLGdS#p*m3m`jjoS|)0 zpZ#0kC(X_Bcla$Q^?sw9tJ9-i@k@yp5=wCaFYl|n9`6z8kLkkTu7lbVS^fKXE4gB$ z4Z-o;>-F(_{Emu24&0A~D$`STx4jHE9+vQZ#0U|bqdrzf{8X9YUlb}tJp;@1UQ))6 z7H_?hUS_-GVw@^MdsD8HP`$NZV<7Z_b5vj6kP(eKiVwvQ+geL^nGb1E7RovXabqv# z2khAlu~O0NPEddMm`PxDU*zZO*=B;*c%sm#m+C4Nit&D|IcV}4LTEinX5iNh`{fN0y$>n`FV4NY z#e%S_BVktYra~M!&N226_boj5=}{~$?EP?3jdmfMX|q8~Wr!6V^F)?agc*sy9~ovK z#j0?Yj;G`!Cq>yx13cstt9~CiQ0pzS1Mf4pLZYSAq2JU|fzvD-N{RIS?bN5h;W^Ey zI2OXeqVnTYbvc_&>YBU#QpLi#i?a`;aDeIUqN0X0Du2P~7p082TFaRC@~Wmew}KlY z23e+7Y)4H&94V+WvdY{o&DTY~GHMEJqYtav?PL6k*rv`p1|z&qh~FIq@j%?}E#4%t zs^O{W^q2irJNs91lZU!xnvUWT@CK=i{f#+UX98oc_LjRHd=c($SI#zVnD@rn>!KHl zZ|^rfu3-#GD71cg=A%TGL|*@qfaTHsnz0!j0U|Qz8H4hl&!l^AfF$4Iz)NrH9*7Yk zDkZA|8X@I9T47t3VFLSx@~)YDI!;#{(yqF!)jjc*1t1z#ya)l|{`BcBoy=I^Tqwgj zC84TvKBxa-gMzwVTU?`Qz_tGSyZTiK(ih`08G~xEZL-;0XE0#LI6i9B=J(Bn{AQT= zn6d`frt!Y>93zF5g^xY@aSdeMq>cVXihWlKty5ha-%0A_$W&kH9dhbiXcd*JPREa^ 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 z

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%0DG5 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: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 Uf|d0=BlBX+p>N955OLU)eTF_ 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Ëo!q4sBfcPhfzZ8 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

pMSQH5yR~Gs=;Vdy{VRfpRQvS=w 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�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�@lUjtmW(;-hrq9R{P}C0xyFa=D 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 literal 0 HcmV?d00001 diff --git a/Editor/assets/scenes/FPSDemo.scene b/Editor/assets/scenes/FPSDemo.scene new file mode 100644 index 0000000..41c07aa --- /dev/null +++ b/Editor/assets/scenes/FPSDemo.scene @@ -0,0 +1,167 @@ +Scene: Scene Name +Environment: + AssetPath: assets/env/pink_sunrise_4k.hdr + Light: + Direction: [-0.787, -0.73299998, 1] + Radiance: [1, 1, 1] + Multiplier: 0.514999986 +Entities: + - Entity: 3247025703490125974 + TagComponent: + Tag: Player + TransformComponent: + Position: [2.80803752, 1.5, 0] + Rotation: [1, 0, 0, 0] + Scale: [2, 2, 2] + ScriptComponent: + ModuleName: FPSExample.FPSPlayer + StoredFields: + - Name: WalkingSpeed + Type: 1 + Data: 20 + - Name: RunSpeed + Type: 1 + Data: 50 + - Name: JumpForce + Type: 1 + Data: 50 + MeshComponent: + AssetPath: assets/meshes/Capsule.fbx + RigidBodyComponent: + BodyType: 1 + Mass: 1 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: true + LockRotationY: false + LockRotationZ: true + PhysicsMaterialComponent: + StaticFriction: 0.100000001 + DynamicFriction: 0.100000001 + Bounciness: 0.100000001 + MeshColliderComponent: + AssetPath: assets/meshes/Capsule.fbx + IsTrigger: false + - Entity: 11149966982516343187 + TagComponent: + Tag: Mesh Collider + TransformComponent: + Position: [-2.60455179, 1, -0.00171399117] + Rotation: [1, 0, 0, 0] + Scale: [1, 1, 1] + MeshComponent: + AssetPath: assets/meshes/Sphere1m.fbx + RigidBodyComponent: + BodyType: 1 + Mass: 0.100000001 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: false + LockRotationY: false + LockRotationZ: false + PhysicsMaterialComponent: + StaticFriction: 1 + DynamicFriction: 1 + Bounciness: 0.100000001 + MeshColliderComponent: + AssetPath: assets/meshes/Sphere1m.fbx + IsTrigger: false + - Entity: 10169503531257462571 + TagComponent: + Tag: Box + TransformComponent: + Position: [0, 1.5, 0] + Rotation: [1, 0, 0, 0] + Scale: [2, 2, 2] + MeshComponent: + AssetPath: assets/meshes/Cube1m.fbx + RigidBodyComponent: + BodyType: 1 + Mass: 0.5 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: false + LockRotationY: false + LockRotationZ: false + PhysicsMaterialComponent: + StaticFriction: 1 + DynamicFriction: 1 + Bounciness: 0 + BoxColliderComponent: + Offset: [0, 0, 0] + Size: [1, 1, 1] + IsTrigger: false + - Entity: 14057422478420564497 + TagComponent: + Tag: Sphere + TransformComponent: + Position: [-3.98769951, 1, -1.96695328e-06] + Rotation: [1, 0, 0, 0] + Scale: [1, 1, 1] + MeshComponent: + AssetPath: assets/meshes/Sphere1m.fbx + RigidBodyComponent: + BodyType: 1 + Mass: 1 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: true + LockRotationY: true + LockRotationZ: true + PhysicsMaterialComponent: + StaticFriction: 0.100000001 + DynamicFriction: 0.100000001 + Bounciness: 0.100000001 + SphereColliderComponent: + Radius: 0.5 + IsTrigger: false + - Entity: 5178862374589434728 + TagComponent: + Tag: Camera + TransformComponent: + Position: [2.80800009, 2.25, 0] + Rotation: [1, 0, 0, 0] + Scale: [1, 1, 1] + CameraComponent: + Camera: some camera data... + Primary: true + - Entity: 18306113171518048249 + TagComponent: + Tag: Box + TransformComponent: + Position: [0, 0, 0] + Rotation: [1, 0, 0, 0] + Scale: [50, 1, 50] + MeshComponent: + AssetPath: assets/meshes/Cube1m.fbx + RigidBodyComponent: + BodyType: 0 + Mass: 1 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: false + LockRotationY: false + LockRotationZ: false + PhysicsMaterialComponent: + StaticFriction: 1 + DynamicFriction: 1 + Bounciness: 0 + BoxColliderComponent: + Offset: [0, 0, 0] + Size: [1, 1, 1] + IsTrigger: false diff --git a/Editor/assets/scenes/Physics3DTest.scene b/Editor/assets/scenes/Physics3DTest.scene index 5172996..3d0e70e 100644 --- a/Editor/assets/scenes/Physics3DTest.scene +++ b/Editor/assets/scenes/Physics3DTest.scene @@ -18,6 +18,14 @@ Entities: RigidBodyComponent: BodyType: 1 Mass: 0.5 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: true + LockRotationY: true + LockRotationZ: true PhysicsMaterialComponent: StaticFriction: 1 DynamicFriction: 1 @@ -49,6 +57,14 @@ Entities: RigidBodyComponent: BodyType: 1 Mass: 1 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: true + LockRotationY: true + LockRotationZ: true PhysicsMaterialComponent: StaticFriction: 1 DynamicFriction: 1 @@ -86,6 +102,14 @@ Entities: RigidBodyComponent: BodyType: 0 Mass: 1 + IsKinematic: false + Constraints: + LockPositionX: false + LockPositionY: false + LockPositionZ: false + LockRotationX: true + LockRotationY: true + LockRotationZ: true PhysicsMaterialComponent: StaticFriction: 1 DynamicFriction: 1 diff --git a/Editor/assets/shaders/Collider.glsl b/Editor/assets/shaders/Collider.glsl new file mode 100644 index 0000000..d991def --- /dev/null +++ b/Editor/assets/shaders/Collider.glsl @@ -0,0 +1,24 @@ +// Collider Shader + +#type vertex +#version 450 + +layout(location = 0) in vec3 a_Position; + +uniform mat4 u_ViewProjection; +uniform mat4 u_Transform; + +void main() +{ + gl_Position = u_ViewProjection * u_Transform * vec4(a_Position, 1.0); +} + +#type fragment +#version 450 + +layout(location = 0) out vec4 color; + +void main() +{ + color = vec4(0.1, 1.0, 0.1, 1.0); +} diff --git a/ExampleApp/Src/FPSPlayer.cs b/ExampleApp/Src/FPSPlayer.cs new file mode 100644 index 0000000..998b0b7 --- /dev/null +++ b/ExampleApp/Src/FPSPlayer.cs @@ -0,0 +1,115 @@ +using System; +using Prism; + +namespace FPSExample +{ + public class FPSPlayer : Entity + { + public float WalkingSpeed = 10.0F; + public float RunSpeed = 20.0F; + public float JumpForce = 50.0F; + public float MouseSensitivity = 10.0F; + public Vec3 Forward = new Vec3(0.0f, 0.0f, 1.0f); + + private bool m_Colliding = false; + private float m_CurrentSpeed; + + private RigidBodyComponent m_RigidBody; + private TransformComponent m_Transform; + private TransformComponent m_CameraTransform; + + private Entity m_CameraEntity; + + private Vec2 m_LastMousePosition; + private float m_CameraRotationX = 0.0f; + private float m_RotationY = 0.0f; + + void OnCreate() + { + m_Transform = GetComponent(); + m_RigidBody = GetComponent(); + + m_CurrentSpeed = WalkingSpeed; + + AddCollisionBeginCallback((n) => { m_Colliding = true; }); + AddCollisionEndCallback((n) => { m_Colliding = false; }); + + m_CameraEntity = FindEntityByTag("Camera"); + + m_CameraTransform = m_CameraEntity.GetComponent(); + m_LastMousePosition = Input.GetMousePosition(); + + Input.SetCursorMode(Input.CursorMode.Locked); + } + + void OnUpdate(float ts) + { + Forward = m_Transform.Forward; + + if (Input.IsKeyPressed(KeyCode.Escape) && Input.GetCursorMode() == Input.CursorMode.Locked) + { + Input.SetCursorMode(Input.CursorMode.Normal); + } + + m_CurrentSpeed = Input.IsKeyPressed(KeyCode.LeftControl) ? RunSpeed : WalkingSpeed; + + UpdateRotation(ts); + UpdateMovement(); + UpdateCameraTransform(); + } + + private void UpdateRotation(float ts) + { + Vec2 currentMousePosition = Input.GetMousePosition(); + Vec2 delta = m_LastMousePosition - currentMousePosition; + if (delta.X != 0) + { + m_RotationY += delta.X * MouseSensitivity * ts; + } + + m_RigidBody.Rotate(new Vec3(0.0F, delta.X * MouseSensitivity, 0.0f) * ts); + + if (delta.Y != 0.0F) + { + m_CameraRotationX += delta.Y * MouseSensitivity * ts; + m_CameraRotationX = Mathf.Clamp(m_CameraRotationX, -80.0f, 80.0f); + } + + m_LastMousePosition = currentMousePosition; + } + + private void UpdateMovement() + { + + if (Input.IsKeyPressed(KeyCode.W)) + m_RigidBody.AddForce(m_Transform.Forward * m_CurrentSpeed); + else if (Input.IsKeyPressed(KeyCode.S)) + m_RigidBody.AddForce(m_Transform.Forward * -m_CurrentSpeed); + + if (Input.IsKeyPressed(KeyCode.A)) + m_RigidBody.AddForce(m_Transform.Right * -m_CurrentSpeed); + else if (Input.IsKeyPressed(KeyCode.D)) + m_RigidBody.AddForce(m_Transform.Right * m_CurrentSpeed); + + if (Input.IsKeyPressed(KeyCode.Space) && m_Colliding) + m_RigidBody.AddForce(Vec3.Up * JumpForce); + + } + + private void UpdateCameraTransform(){ + + // TODO: This workflow needs to be improved. (Will be fixed by object parenting) + + Mat4 cameraTransform = m_CameraTransform.Transform; + Vec3 cameraTranslation = cameraTransform.Translation; + Vec3 translation = m_Transform.Transform.Translation; + cameraTranslation.XZ = translation.XZ; + cameraTranslation.Y = translation.Y + 1.5F; + cameraTransform.Translation = cameraTranslation; + m_CameraTransform.Transform = cameraTransform; + + m_CameraTransform.Rotation = new Vec3(m_CameraRotationX, m_RotationY, 0.0f); + + } + } +} \ No newline at end of file diff --git a/ExampleApp/Src/PlayerSphere.cs b/ExampleApp/Src/PlayerSphere.cs index 06c28ca..67dae8c 100644 --- a/ExampleApp/Src/PlayerSphere.cs +++ b/ExampleApp/Src/PlayerSphere.cs @@ -22,9 +22,11 @@ namespace Example private bool Colliding => m_CollisionCounter > 0; + private TransformComponent m_Transform; void OnCreate() { m_PhysicsBody = GetComponent(); + m_Transform = GetComponent(); MeshComponent meshComponent = GetComponent(); m_MeshMaterial = meshComponent.Mesh.GetMaterial(0); @@ -32,6 +34,8 @@ namespace Example AddCollisionBeginCallback(OnPlayerCollisionBegin); AddCollisionEndCallback(OnPlayerCollisionEnd); + AddTriggerBeginCallback(OnPlayerTriggerBegin); + AddTriggerEndCallback(OnPlayerTriggerEnd); } void OnPlayerCollisionBegin(float value) @@ -44,6 +48,16 @@ namespace Example m_CollisionCounter--; } + void OnPlayerTriggerBegin(float value) + { + Console.WriteLine("Player trigger begin"); + } + + void OnPlayerTriggerEnd(float value) + { + Console.WriteLine("Player trigger end"); + } + void OnUpdate(float ts) { float movementForce = HorizontalForce; @@ -53,22 +67,18 @@ namespace Example movementForce *= 0.4f; } - Vec3 forward = GetForwardDirection(); - Vec3 right = GetRightDirection(); - Vec3 up = GetUpDirection(); - if (Input.IsKeyPressed(KeyCode.W)) - m_PhysicsBody.AddForce(forward * movementForce); + m_PhysicsBody.AddForce(m_Transform.Forward * movementForce); else if (Input.IsKeyPressed(KeyCode.S)) - m_PhysicsBody.AddForce(forward * -movementForce); + m_PhysicsBody.AddForce(m_Transform.Forward * -movementForce); if (Input.IsKeyPressed(KeyCode.D)) - m_PhysicsBody.AddForce(right * movementForce); + m_PhysicsBody.AddForce(m_Transform.Right * movementForce); else if (Input.IsKeyPressed(KeyCode.A)) - m_PhysicsBody.AddForce(right * -movementForce); + m_PhysicsBody.AddForce(m_Transform.Right * -movementForce); if (Colliding && Input.IsKeyPressed(KeyCode.Space)) - m_PhysicsBody.AddForce(up * JumpForce); + m_PhysicsBody.AddForce(m_Transform.Up * JumpForce); if (Colliding) m_MeshMaterial.Set("u_AlbedoColor", new Vec3(1.0f, 0.0f, 0.0f)); diff --git a/Prism-ScriptCore/Src/Prism/Entity.cs b/Prism-ScriptCore/Src/Prism/Entity.cs index 3044e35..fd34361 100644 --- a/Prism-ScriptCore/Src/Prism/Entity.cs +++ b/Prism-ScriptCore/Src/Prism/Entity.cs @@ -11,10 +11,12 @@ namespace Prism { } - private List> m_Collision2DBeginCallbacks = new List>(); - private List> m_Collision2DEndCallbacks = new List>(); - private Action m_CollisionBeginCallbacks; - private Action m_CollisionEndCallbacks; + private Action? m_CollisionBeginCallbacks; + private Action? m_CollisionEndCallbacks; + private Action? m_Collision2DBeginCallbacks; + private Action? m_Collision2DEndCallbacks; + private Action? m_TriggerBeginCallbacks; + private Action? m_TriggerEndCallbacks; protected Entity() { ID = 0; } @@ -65,32 +67,14 @@ namespace Prism SetTransform_Native(ID, ref transform); } - public Vec3 GetForwardDirection() - { - GetForwardDirection_Native(ID, out Vec3 forward); - return forward; - } - - public Vec3 GetRightDirection() - { - GetRightDirection_Native(ID, out Vec3 right); - return right; - } - - public Vec3 GetUpDirection() - { - GetUpDirection_Native(ID, out Vec3 up); - return up; - } - public void AddCollision2DBeginCallback(Action callback) { - m_Collision2DBeginCallbacks.Add(callback); + m_Collision2DBeginCallbacks += callback; } public void AddCollision2DEndCallback(Action callback) { - m_Collision2DEndCallbacks.Add(callback); + m_Collision2DEndCallbacks += callback; } public void AddCollisionBeginCallback(Action callback) @@ -103,6 +87,16 @@ namespace Prism m_CollisionEndCallbacks += callback; } + public void AddTriggerBeginCallback(Action callback) + { + m_TriggerBeginCallbacks += callback; + } + + public void AddTriggerEndCallback(Action callback) + { + m_TriggerEndCallbacks += callback; + } + private void OnCollisionBegin(float data) { if (m_CollisionBeginCallbacks != null) @@ -117,16 +111,29 @@ namespace Prism private void OnCollision2DBegin(float data) { - foreach (var callback in m_Collision2DBeginCallbacks) - callback.Invoke(data); + if(m_Collision2DBeginCallbacks != null) + m_Collision2DBeginCallbacks.Invoke(data); } private void OnCollision2DEnd(float data) { - foreach (var callback in m_Collision2DEndCallbacks) - callback.Invoke(data); + if(m_Collision2DEndCallbacks != null) + m_Collision2DEndCallbacks.Invoke(data); } + private void OnTriggerBegin(float data) + { + if (m_TriggerBeginCallbacks != null) + m_TriggerBeginCallbacks.Invoke(data); + } + + private void OnTriggerEnd(float data) + { + if (m_TriggerEndCallbacks != null) + m_TriggerEndCallbacks.Invoke(data); + } + + [MethodImpl(MethodImplOptions.InternalCall)] private static extern void CreateComponent_Native(ulong entityID, Type type); [MethodImpl(MethodImplOptions.InternalCall)] @@ -137,12 +144,5 @@ namespace Prism private static extern void SetTransform_Native(ulong entityID, ref Mat4 matrix); [MethodImpl(MethodImplOptions.InternalCall)] private static extern ulong FindEntityByTag_Native(string tag); - - [MethodImpl(MethodImplOptions.InternalCall)] - private static extern void GetForwardDirection_Native(ulong entityID, out Vec3 forward); - [MethodImpl(MethodImplOptions.InternalCall)] - private static extern void GetRightDirection_Native(ulong entityID, out Vec3 right); - [MethodImpl(MethodImplOptions.InternalCall)] - private static extern void GetUpDirection_Native(ulong entityID, out Vec3 up); } } diff --git a/Prism-ScriptCore/Src/Prism/Input.cs b/Prism-ScriptCore/Src/Prism/Input.cs index 32db526..443bb9d 100644 --- a/Prism-ScriptCore/Src/Prism/Input.cs +++ b/Prism-ScriptCore/Src/Prism/Input.cs @@ -4,14 +4,39 @@ namespace Prism { public class Input { + public enum CursorMode + { + Normal = 0, + Hidden = 1, + Locked = 2, + } public static bool IsKeyPressed(KeyCode keycode) { return IsKeyPressed_Native(keycode); } + public static Vec2 GetMousePosition() + { + GetMousePosition_Native(out Vec2 position); + return position; + } + + public static void SetCursorMode(CursorMode mode) => SetCursorMode_Native(mode); + public static CursorMode GetCursorMode() => GetCursorMode_Native(); + + + [MethodImpl(MethodImplOptions.InternalCall)] private static extern bool IsKeyPressed_Native(KeyCode keycode); + [MethodImpl(MethodImplOptions.InternalCall)] + private static extern void GetMousePosition_Native(out Vec2 position); + + [MethodImpl(MethodImplOptions.InternalCall)] + private static extern void SetCursorMode_Native(CursorMode mode); + + [MethodImpl(MethodImplOptions.InternalCall)] + private static extern CursorMode GetCursorMode_Native(); } } \ No newline at end of file diff --git a/Prism-ScriptCore/Src/Prism/Math/Queternion.cs b/Prism-ScriptCore/Src/Prism/Math/Queternion.cs new file mode 100644 index 0000000..b96d161 --- /dev/null +++ b/Prism-ScriptCore/Src/Prism/Math/Queternion.cs @@ -0,0 +1,56 @@ +using System; +using System.Runtime.InteropServices; + +namespace Prism +{ + [StructLayout(LayoutKind.Sequential)] + public struct Quaternion + { + public float X; + public float Y; + public float Z; + public float W; + + public Quaternion(float x, float y, float z, float w) + { + X = x; + Y = y; + Z = z; + W = w; + } + + public Quaternion(float w, Vec3 xyz) + { + X = xyz.X; + Y = xyz.Y; + Z = xyz.Z; + W = w; + } + + public Quaternion(Vec3 eulerAngles) + { + Vec3 c = Vec3.Cos(eulerAngles * 0.5F); + Vec3 s = Vec3.Sin(eulerAngles * 0.5F); + + W = c.X * c.Y * c.Z + s.X * s.Y * s.Z; + X = s.X * c.Y * c.Z - c.X * s.Y * s.Z; + Y = c.X * s.Y * c.Z + s.X * c.Y * s.Z; + Z = c.X * c.Y * s.Z - s.X * s.Y * c.Z; + } + + public static Quaternion AngleAxis(float angle, Vec3 axis) + { + float s = (float)Math.Sin(angle * 0.5F); + return new Quaternion(s, axis * s); + } + + public static Quaternion operator*(Quaternion a, Quaternion b) + { + float w = a.W * b.W - a.X * b.X - a.Y * b.Y - a.Z * b.Z; + float x = a.W * b.X + a.X * b.W + a.Y * b.Z - a.Z * b.Y; + float y = a.W * b.Y + a.Y * b.W + a.Z * b.X - a.X * b.Z; + float z = a.W * b.Z + a.Z * b.W + a.X * b.Y - a.Y * b.X; + return new Quaternion(x, y, z, w); + } + } +} diff --git a/Prism-ScriptCore/Src/Prism/Math/Vec2.cs b/Prism-ScriptCore/Src/Prism/Math/Vec2.cs index 73f0702..4696906 100644 --- a/Prism-ScriptCore/Src/Prism/Math/Vec2.cs +++ b/Prism-ScriptCore/Src/Prism/Math/Vec2.cs @@ -25,20 +25,23 @@ namespace Prism } public void Clamp(Vec2 min, Vec2 max) { - if (X < min.X) - X = min.X; - if (X > max.X) - X = max.X; - - if (Y < min.Y) - Y = min.Y; - if (Y > max.Y) - Y = max.Y; + X = Mathf.Clamp(X, min.X, max.X); + Y = Mathf.Clamp(Y, min.Y, max.Y); } + public static Vec2 operator -(Vec2 l, Vec2 r) + { + return new Vec2(l.X - r.X, l.Y - r.Y); + } + public static Vec2 operator -(Vec2 vector) { return new Vec2(-vector.X, -vector.Y); } + + public override string ToString() + { + return $"({X}, {Y})"; + } } } \ No newline at end of file diff --git a/Prism-ScriptCore/Src/Prism/Math/Vec3.cs b/Prism-ScriptCore/Src/Prism/Math/Vec3.cs index 6ff2443..313ad1d 100644 --- a/Prism-ScriptCore/Src/Prism/Math/Vec3.cs +++ b/Prism-ScriptCore/Src/Prism/Math/Vec3.cs @@ -5,6 +5,12 @@ namespace Prism [StructLayout(LayoutKind.Sequential)] public struct Vec3 { + public static Vec3 Zero = new Vec3(0.0f, 0.0f, 0.0f); + + public static Vec3 Forward = new Vec3(0.0f, 0.0f, -1.0f); + public static Vec3 Right = new Vec3(1.0f, 0.0f, 0.0f); + public static Vec3 Up = new Vec3(0.0f, 1.0f, 0.0f); + public float X; public float Y; public float Z; @@ -40,15 +46,6 @@ namespace Prism Z = Mathf.Clamp(Z, min.Z, max.Z); } - public static Vec3 operator *(Vec3 left, float scalar) - { - return new Vec3(left.X * scalar, left.Y * scalar, left.Z * scalar); - } - - public static Vec3 operator *(float scalar, Vec3 right) - { - return new Vec3(scalar * right.X, scalar * right.Y, scalar * right.Z); - } public Vec2 XY { get { return new Vec2(X, Y); } @@ -66,5 +63,56 @@ namespace Prism set { Y = value.X; Z = value.Y; } } + + public static Vec3 operator *(Vec3 left, float scalar) + { + return new Vec3(left.X * scalar, left.Y * scalar, left.Z * scalar); + } + + public static Vec3 operator *(float scalar, Vec3 right) + { + return new Vec3(scalar * right.X, scalar * right.Y, scalar * right.Z); + } + + public static Vec3 operator +(Vec3 left, Vec3 right) + { + return new Vec3(left.X + right.X, left.Y + right.Y, left.Z + right.Z); + } + + public static Vec3 operator -(Vec3 left, Vec3 right) + { + return new Vec3(left.X - right.X, left.Y - right.Y, left.Z - right.Z); + } + + public static Vec3 operator /(Vec3 left, Vec3 right) + { + return new Vec3(left.X / right.X, left.Y / right.Y, left.Z / right.Z); + } + + public static Vec3 operator /(Vec3 left, float scalar) + { + return new Vec3(left.X / scalar, left.Y / scalar, left.Z / scalar); + } + + public static Vec3 operator-(Vec3 vector) + { + return new Vec3(-vector.X, -vector.Y, -vector.Z); + } + + public static Vec3 Cos(Vec3 vector) + { + return new Vec3((float)Math.Cos(vector.X), (float)Math.Cos(vector.Y), (float)Math.Cos(vector.Z)); + } + + public static Vec3 Sin(Vec3 vector) + { + return new Vec3((float)Math.Sin(vector.X), (float)Math.Sin(vector.Y), (float)Math.Sin(vector.Z)); + } + + public override string ToString() + { + return $"({X}, {Y}, {Z})"; + } + } } \ No newline at end of file diff --git a/Prism-ScriptCore/Src/Prism/Math/Vec4.cs b/Prism-ScriptCore/Src/Prism/Math/Vec4.cs index 55cd5d0..29e2edb 100644 --- a/Prism-ScriptCore/Src/Prism/Math/Vec4.cs +++ b/Prism-ScriptCore/Src/Prism/Math/Vec4.cs @@ -2,13 +2,13 @@ using System.Runtime.InteropServices; namespace Prism { - [StructLayout(LayoutKind.Explicit)] + [StructLayout(LayoutKind.Sequential)] public struct Vec4 { - [FieldOffset(0)] public float X; - [FieldOffset(4)] public float Y; - [FieldOffset(8)] public float Z; - [FieldOffset(12)] public float W; + public float X; + public float Y; + public float Z; + public float W; public Vec4(float scalar) { diff --git a/Prism-ScriptCore/Src/Prism/Physics/Colliders.cs b/Prism-ScriptCore/Src/Prism/Physics/Colliders.cs new file mode 100644 index 0000000..b111cca --- /dev/null +++ b/Prism-ScriptCore/Src/Prism/Physics/Colliders.cs @@ -0,0 +1,77 @@ +using System; + +namespace Prism +{ + public class Collider + { + public enum ColliderType + { + Box, + Sphere, + Capsule, + Mesh + } + + public Entity ColliderEntity { get; protected set; } + public ColliderType Type { get; protected set; } + public bool IsTrigger { get; protected set; } + + } + + public class BoxCollider : Collider + { + public Vec3 Size { get; private set; } + public Vec3 Offset { get; private set; } + + internal BoxCollider(ulong entityID, Vec3 size, Vec3 offset, bool isTrigger) + { + ColliderEntity = new Entity(entityID); + Type = ColliderType.Box; + Size = size; + Offset = offset; + IsTrigger = isTrigger; + } + } + + public class SphereCollider : Collider + { + public float Radius { get; private set; } + + internal SphereCollider(ulong entityID, float radius, bool isTrigger) + { + ColliderEntity = new Entity(entityID); + Type = ColliderType.Box; + Radius = radius; + IsTrigger = isTrigger; + } + } + + public class CapsuleCollider : Collider + { + public float Radius { get; private set; } + public float Height { get; private set; } + + internal CapsuleCollider(ulong entityID, float radius, float height, bool isTrigger) + { + ColliderEntity = new Entity(entityID); + Type = ColliderType.Box; + Radius = radius; + Height = height; + IsTrigger = isTrigger; + } + } + + public class MeshCollider : Collider + { + public Mesh Mesh { get; private set; } + + internal MeshCollider(ulong entityID, Mesh mesh, bool isTrigger) + { + ColliderEntity = new Entity(entityID); + Type = ColliderType.Box; + Mesh = mesh; + IsTrigger = isTrigger; + } + } +} + diff --git a/Prism-ScriptCore/Src/Prism/Scene/Component.cs b/Prism-ScriptCore/Src/Prism/Scene/Component.cs index a2e1611..4822922 100644 --- a/Prism-ScriptCore/Src/Prism/Scene/Component.cs +++ b/Prism-ScriptCore/Src/Prism/Scene/Component.cs @@ -46,11 +46,62 @@ namespace Prism } } + public Vec3 Rotation + { + get + { + GetRotation_Native(Entity.ID, out Vec3 rotation); + return rotation; + } + set + { + SetRotation_Native(Entity.ID, ref value); + } + } + + public Vec3 Forward + { + get + { + GetRelativeDirection_Native(Entity.ID, out Vec3 result, ref Vec3.Forward); + return result; + } + } + + public Vec3 Right + { + get + { + GetRelativeDirection_Native(Entity.ID, out Vec3 result, ref Vec3.Right); + return result; + } + } + + public Vec3 Up + { + get + { + GetRelativeDirection_Native(Entity.ID, out Vec3 result, ref Vec3.Up); + return result; + } + } + + [MethodImpl(MethodImplOptions.InternalCall)] public static extern void GetTransform_Native(ulong entityID, out Mat4 result); [MethodImpl(MethodImplOptions.InternalCall)] public static extern void SetTransform_Native(ulong entityID, ref Mat4 result); + + [MethodImpl(MethodImplOptions.InternalCall)] + public static extern void GetRelativeDirection_Native(ulong entityID, out Vec3 result, ref Vec3 direction); + + [MethodImpl(MethodImplOptions.InternalCall)] + public static extern void GetRotation_Native(ulong entityID, out Vec3 rotation); + + [MethodImpl(MethodImplOptions.InternalCall)] + public static extern void SetRotation_Native(ulong entityID, ref Vec3 rotation); + } @@ -163,6 +214,12 @@ namespace Prism SetLinearVelocity_Native(Entity.ID, ref velocity); } + public void Rotate(Vec3 rotation) + { + Rotate_Native(Entity.ID, ref rotation); + } + + // TODO: Add SetMaxLinearVelocity() as well [MethodImpl(MethodImplOptions.InternalCall)] @@ -174,5 +231,8 @@ namespace Prism internal static extern void GetLinearVelocity_Native(ulong entityID, out Vec3 velocity); [MethodImpl(MethodImplOptions.InternalCall)] internal static extern void SetLinearVelocity_Native(ulong entityID, ref Vec3 velocity); + + [MethodImpl(MethodImplOptions.InternalCall)] + internal static extern void Rotate_Native(ulong entityID, ref Vec3 rotation); } } diff --git a/Prism/src/Prism/Core/Core.h b/Prism/src/Prism/Core/Core.h index 493c028..6625b0c 100644 --- a/Prism/src/Prism/Core/Core.h +++ b/Prism/src/Prism/Core/Core.h @@ -56,6 +56,11 @@ namespace Prism #define PM_CORE_ASSERT(x, ...) #endif + +#ifndef M_PI +#define M_PI 3.1415926f +#endif + namespace Prism { using byte = unsigned char; diff --git a/Prism/src/Prism/Core/Input.h b/Prism/src/Prism/Core/Input.h index 0d9be3d..b95acc5 100644 --- a/Prism/src/Prism/Core/Input.h +++ b/Prism/src/Prism/Core/Input.h @@ -9,6 +9,13 @@ namespace Prism { + enum class CursorMode + { + Normal = 0, + Hidden = 1, + Locked = 2 + }; + class PRISM_API Input { public: @@ -18,6 +25,9 @@ namespace Prism static float GetMouseX(); static float GetMouseY(); static std::pair GetMousePosition(); + + static void SetCursorMode(CursorMode mode); + static CursorMode GetCursorMode(); }; } diff --git a/Prism/src/Prism/Editor/EditorCamera.cpp b/Prism/src/Prism/Editor/EditorCamera.cpp index cceb4db..ef9537c 100644 --- a/Prism/src/Prism/Editor/EditorCamera.cpp +++ b/Prism/src/Prism/Editor/EditorCamera.cpp @@ -14,9 +14,6 @@ #include "Prism/Core/Input.h" #include "Prism/Core/Events/MouseEvent.h" -#ifndef M_PI -#define M_PI 3.1415926f -#endif namespace Prism { diff --git a/Prism/src/Prism/Editor/SceneHierachyPanel.cpp b/Prism/src/Prism/Editor/SceneHierachyPanel.cpp index b5d2a40..d75f493 100644 --- a/Prism/src/Prism/Editor/SceneHierachyPanel.cpp +++ b/Prism/src/Prism/Editor/SceneHierachyPanel.cpp @@ -7,10 +7,13 @@ #include "imgui.h" #include "assimp/matrix4x4.h" #define GLM_ENABLE_EXPERIMENTAL +#include "imgui_internal.h" #include "assimp/scene.h" #include "glm/gtx/matrix_decompose.hpp" #include "glm/gtx/quaternion.hpp" #include "Prism/Core/Application.h" +#include "Prism/Physics/PxPhysicsWrappers.h" +#include "Prism/Renderer/Meshfactory.h" #include "Prism/Script/ScriptEngine.h" namespace Prism @@ -42,6 +45,19 @@ namespace Prism m_SelectionContext = entity; } + template + void SceneHierarchyPanel::AddComponentPopup(const char* componentName) + { + if (!m_SelectionContext.HasComponent()) + { + if (ImGui::Button(componentName)) + { + m_SelectionContext.AddComponent(); + ImGui::CloseCurrentPopup(); + } + } + } + void SceneHierarchyPanel::OnImGuiRender() { ImGui::Begin("Scene Hierarchy"); @@ -79,6 +95,21 @@ namespace Prism if (ImGui::BeginPopup("AddComponentPanel")) { + AddComponentPopup("Camera"); + AddComponentPopup("Mesh"); + AddComponentPopup("Script"); + AddComponentPopup("SpriteRenderer"); + AddComponentPopup("RigidBody2D"); + AddComponentPopup("BoxCollider2D"); + AddComponentPopup("CircleCollider2D"); + AddComponentPopup("RigidBody"); + AddComponentPopup("PhysicsMaterial"); + AddComponentPopup("BoxCollider"); + AddComponentPopup("SphereCollider"); + AddComponentPopup("CapsuleCollider"); + AddComponentPopup("MeshCollider"); + + /* if (!m_SelectionContext.HasComponent()) { if (ImGui::Button("Camera")) @@ -168,6 +199,15 @@ namespace Prism } } + if (!m_SelectionContext.HasComponent()) + { + if (ImGui::Button("Capsule Collider")) + { + m_SelectionContext.AddComponent(); + ImGui::CloseCurrentPopup(); + } + } + if (!m_SelectionContext.HasComponent()) { if (ImGui::Button("Mesh Collider")) @@ -176,6 +216,7 @@ namespace Prism ImGui::CloseCurrentPopup(); } } + */ ImGui::EndPopup(); } @@ -334,6 +375,7 @@ namespace Prism { PushID(); ImGui::Columns(2); + ImGui::SetColumnWidth(0, 100); } static bool Property(const char* label, std::string& value, bool error = false) @@ -434,7 +476,7 @@ namespace Prism return modified; } - static bool Property(const char* label, float& value, float delta = 0.1f) + static bool Property(const char* label, float& value, float delta = 0.1f, float min = 0.0f, float max = 0.0f) { bool modified = false; @@ -448,7 +490,7 @@ namespace Prism // itoa(s_Counter++, s_IDBuffer + 2, 16); snprintf(s_IDBuffer + 2, 14, "%x", s_Counter++); - if (ImGui::DragFloat(s_IDBuffer, &value, delta)) + if (ImGui::DragFloat(s_IDBuffer, &value, delta, min, max)) modified = true; ImGui::PopItemWidth(); @@ -640,8 +682,12 @@ namespace Prism ImGui::NextColumn(); ImGui::PushItemWidth(-1); - if (ImGui::DragFloat3("##scale", glm::value_ptr(scale), 0.25f)) + if (ImGui::DragFloat3("##scale", glm::value_ptr(scale), 0.05f)) { + if (scale.x == 0) scale.x = 0.01f; + if (scale.y == 0) scale.y = 0.01f; + if (scale.z == 0) scale.z = 0.01f; + updateTransform = true; } @@ -850,13 +896,13 @@ namespace Prism DrawComponent("Rigidbody 2D", entity, [](RigidBody2DComponent& rb2dComponent) { // Rigidbody2D Type - const char* rb2dTypeStrings[] = { "Static", "Dynamic", "Kinematic" }; + const char* rb2dTypeStrings[] = { "Static", "Dynamic"}; const char* currentType = rb2dTypeStrings[(int)rb2dComponent.BodyType]; if (ImGui::BeginCombo("Type", currentType)) { - for (int type = 0; type < 3; type++) + for (int type = 0; type < 2; type++) { - bool is_selected = (currentType == rb2dTypeStrings[type]); + const bool is_selected = (currentType == rb2dTypeStrings[type]); if (ImGui::Selectable(rb2dTypeStrings[type], is_selected)) { currentType = rb2dTypeStrings[type]; @@ -903,11 +949,11 @@ namespace Prism DrawComponent("Rigidbody", entity, [](RigidBodyComponent& rbc) { // Rigidbody Type - const char* rbTypeStrings[] = { "Static", "Dynamic", "Kinematic" }; + const char* rbTypeStrings[] = { "Static", "Dynamic"}; const char* currentType = rbTypeStrings[(int)rbc.BodyType]; if (ImGui::BeginCombo("Type", currentType)) { - for (int type = 0; type < 3; type++) + for (int type = 0; type < 2; type++) { bool is_selected = (currentType == rbTypeStrings[type]); if (ImGui::Selectable(rbTypeStrings[type], is_selected)) @@ -925,20 +971,23 @@ namespace Prism { BeginPropertyGrid(); Property("Mass", rbc.Mass); + Property("Is Kinematic", rbc.IsKinematic); + EndPropertyGrid(); if (ImGui::TreeNode("RigidBodyConstraints", "Constraints")) { + BeginPropertyGrid(); Property("Position: X", rbc.LockPositionX); Property("Position: Y", rbc.LockPositionY); Property("Position: Z", rbc.LockPositionZ); Property("Rotation: X", rbc.LockRotationX); Property("Rotation: Y", rbc.LockRotationY); Property("Rotation: Z", rbc.LockRotationZ); + EndPropertyGrid(); ImGui::TreePop(); } - EndPropertyGrid(); } }); @@ -946,9 +995,9 @@ namespace Prism { BeginPropertyGrid(); - Property("Static Friction", pmc.StaticFriction); - Property("Dynamic Friction", pmc.DynamicFriction); - Property("Bounciness", pmc.Bounciness); + Property("Static Friction", pmc.StaticFriction, 0.01f, 0.0f, 1.0f); + Property("Dynamic Friction", pmc.DynamicFriction, 0.01f, 0.0f, 1.0f); + Property("Bounciness", pmc.Bounciness, 0.01f, 0.0f, 1.0f); EndPropertyGrid(); }); @@ -957,8 +1006,12 @@ namespace Prism { BeginPropertyGrid(); - Property("Size", bcc.Size); - //Property("Offset", bcc.Offset); + if (Property("Size", bcc.Size)) + { + bcc.DebugMesh = MeshFactory::CreateBox(bcc.Size); + } + + Property("IsTrigger", bcc.IsTrigger); EndPropertyGrid(); }); @@ -967,22 +1020,47 @@ namespace Prism { BeginPropertyGrid(); - Property("Radius", scc.Radius); + if (Property("Radius", scc.Radius)) + { + scc.DebugMesh = MeshFactory::CreateSphere(scc.Radius); + } + + Property("IsTrigger", scc.IsTrigger); EndPropertyGrid(); }); - DrawComponent("Mesh Collider", entity, [](MeshColliderComponent& mc) + DrawComponent("Capsule Collider", entity, [](CapsuleColliderComponent& ccc) + { + BeginPropertyGrid(); + + bool changed = false; + + if (Property("Radius", ccc.Radius)) changed = true; + if (Property("Height", ccc.Height)) changed = true; + + Property("Is Trigger", ccc.IsTrigger); + + if (changed) + { + ccc.DebugMesh = MeshFactory::CreateCapsule(ccc.Radius, ccc.Height); + } + + EndPropertyGrid(); + }); + + + DrawComponent("Mesh Collider", entity, [](MeshColliderComponent& mcc) { ImGui::Columns(3); ImGui::SetColumnWidth(0, 100); - ImGui::SetColumnWidth(1, 300); + ImGui::SetColumnWidth(1, 250); ImGui::SetColumnWidth(2, 40); ImGui::Text("File Path"); ImGui::NextColumn(); ImGui::PushItemWidth(-1); - if (mc.CollisionMesh) - ImGui::InputText("##meshfilepath", (char*)mc.CollisionMesh->GetFilePath().c_str(), 256, ImGuiInputTextFlags_ReadOnly); + if (mcc.CollisionMesh) + ImGui::InputText("##meshfilepath", (char*)mcc.CollisionMesh->GetFilePath().c_str(), 256, ImGuiInputTextFlags_ReadOnly); else ImGui::InputText("##meshfilepath", (char*)"Null", 256, ImGuiInputTextFlags_ReadOnly); ImGui::PopItemWidth(); @@ -991,8 +1069,16 @@ namespace Prism { std::string file = Application::Get().OpenFile(); if (!file.empty()) - mc.CollisionMesh = Ref::Create(file); + { + mcc.CollisionMesh = Ref::Create(file); + PxPhysicsWrappers::CreateConvexMesh(mcc); + } } + ImGui::EndColumns(); + + BeginPropertyGrid(); + Property("Is Trigger", mcc.IsTrigger); + EndPropertyGrid(); }); } diff --git a/Prism/src/Prism/Editor/SceneHierachyPanel.h b/Prism/src/Prism/Editor/SceneHierachyPanel.h index 3ac9ca9..4ab6f6d 100644 --- a/Prism/src/Prism/Editor/SceneHierachyPanel.h +++ b/Prism/src/Prism/Editor/SceneHierachyPanel.h @@ -27,6 +27,9 @@ namespace Prism void DrawMeshNode(const Ref& mesh, uint32_t& imguiMeshID); void DrawComponents(Entity entity); void MeshNodeHierarchy(const Ref& mesh, aiNode* node, const glm::mat4& parentTransform = glm::mat4(1.0f), uint32_t level = 0); + + template + void AddComponentPopup(const char* componentName); private: Ref m_Context; Entity m_SelectionContext; diff --git a/Prism/src/Prism/Physics/Physics3D.cpp b/Prism/src/Prism/Physics/Physics3D.cpp index 63d3f46..c577d18 100644 --- a/Prism/src/Prism/Physics/Physics3D.cpp +++ b/Prism/src/Prism/Physics/Physics3D.cpp @@ -6,198 +6,170 @@ #define GLM_ENABLE_EXPERIMENTAL #include -#include -#include -#include +#include "glm/gtx/matrix_decompose.hpp" +#include "Prism/Scene/Entity.h" + +#define PX_PHYSX_STATIC_LIB +#include + +#include "PxPhysicsWrappers.h" + namespace Prism { - // TODO: Kinematic Actors - // TODO: Rotation/Position Locking - // TODO: Collision "layers" - // TODO: Expose more of the API to scripts - // TODO: Connect/Disconnect PVD - // TODO: Collider Shape Rendering - // TODO: Relative Transformations for scripts + static physx::PxScene* s_Scene = nullptr; + static std::vector s_SimulatedEntities; + static Entity* s_EntityStorageBuffer = nullptr; + static int s_EntityStorageBufferPosition = 0; - static physx::PxSimulationFilterShader s_DefaultFilterShader = physx::PxDefaultSimulationFilterShader; - - static std::tuple GetTransformDecomposition(const glm::mat4& transform) - { - glm::vec3 scale, translation, skew; - glm::vec4 perspective; - glm::quat orientation; - glm::decompose(transform, scale, orientation, translation, skew, perspective); - - return { translation, orientation, scale }; - } - - static physx::PxFilterFlags PrismFilterShader(physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0, physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1, physx::PxPairFlags& pairFlags, const void* constantBlock, physx::PxU32 constantBlockSize) - { - if (physx::PxFilterObjectIsTrigger(attributes0) || physx::PxFilterObjectIsTrigger(attributes1)) - { - pairFlags = physx::PxPairFlag::eTRIGGER_DEFAULT; - return physx::PxFilterFlag::eDEFAULT; - } - - pairFlags = physx::PxPairFlag::eCONTACT_DEFAULT; - - if ((filterData0.word0 & filterData1.word1) || (filterData1.word0 & filterData0.word1)) - { - pairFlags |= physx::PxPairFlag::eNOTIFY_TOUCH_FOUND; - pairFlags |= physx::PxPairFlag::eNOTIFY_TOUCH_LOST; - } - - return physx::PxFilterFlag::eDEFAULT; - } - - - void Physics3D::Init() - { - PM_CORE_ASSERT(!s_PXFoundation, "PhysXManager::Init shouldn't be called more than once!"); - - s_PXFoundation = PxCreateFoundation(PX_PHYSICS_VERSION, s_PXAllocator, s_PXErrorCallback); - PM_CORE_ASSERT(s_PXFoundation, "PxCreateFoundation Failed!"); - - PM_CORE_INFO("Try to connect PVD..."); - s_PXPvd = PxCreatePvd(*s_PXFoundation); - physx::PxPvdTransport* transport = physx::PxDefaultPvdSocketTransportCreate("localhost", 5425, 100000000); - const bool isConnect = s_PXPvd->connect(*transport, physx::PxPvdInstrumentationFlag::eALL); - if (isConnect) - { - PM_CORE_INFO("PVD connect success"); - }else - { - PM_CORE_ERROR("PVD connect failed"); - } - - s_PXPhysicsFactory = PxCreatePhysics(PX_PHYSICS_VERSION, *s_PXFoundation, physx::PxTolerancesScale(), true, isConnect ? s_PXPvd : nullptr); - PM_CORE_ASSERT(s_PXPhysicsFactory, "PxCreatePhysics Failed!"); - } - - void Physics3D::Shutdown() - { - s_PXPhysicsFactory->release(); - s_PXFoundation->release(); - } - - physx::PxSceneDesc Physics3D::CreateSceneDesc() - { - physx::PxSceneDesc sceneDesc(s_PXPhysicsFactory->getTolerancesScale()); - if (!sceneDesc.cpuDispatcher) - { - physx::PxDefaultCpuDispatcher* mCpuDispatcher = physx::PxDefaultCpuDispatcherCreate(4); - PM_CORE_ASSERT(mCpuDispatcher); - sceneDesc.cpuDispatcher = mCpuDispatcher; - } - - if (!sceneDesc.filterShader) - sceneDesc.filterShader = PrismFilterShader; - - return sceneDesc; - } - - physx::PxScene* Physics3D::CreateScene(const physx::PxSceneDesc& sceneDesc) - { - return s_PXPhysicsFactory->createScene(sceneDesc); - } - - physx::PxRigidActor* Physics3D::CreateAndAddActor(physx::PxScene* scene, const RigidBodyComponent& rigidbody, const glm::mat4& transform) + static std::tuple GetTransformDecomposition(const glm::mat4& transform) { - physx::PxRigidActor* actor = nullptr; + glm::vec3 scale, translation, skew; + glm::vec4 perspective; + glm::quat orientation; + glm::decompose(transform, scale, orientation, translation, skew, perspective); + return { translation, orientation, scale }; + } + + void Physics3D::Init() + { + PxPhysicsWrappers::Initialize(); + } + + void Physics3D::Shutdown() + { + PxPhysicsWrappers::Shutdown(); + } + + void Physics3D::CreateScene(const SceneParams& params) + { + PM_CORE_ASSERT(s_Scene == nullptr, "Scene already has a Physics Scene!"); + s_Scene = PxPhysicsWrappers::CreateScene(params); + } + + void Physics3D::CreateActor(Entity e, int entityCount) + { + if (!e.HasComponent()) + { + PM_CORE_WARN("Trying to create PhysX actor from a non-rigidbody actor!"); + return; + } + + if (!e.HasComponent()) + { + PM_CORE_WARN("Trying to create PhysX actor without a PhysicsMaterialComponent!"); + return; + } + + RigidBodyComponent& rigidbody = e.GetComponent(); + + if (s_EntityStorageBuffer == nullptr) + s_EntityStorageBuffer = new Entity[entityCount]; + + // Create Actor Body + physx::PxRigidActor* actor = PxPhysicsWrappers::CreateActor(rigidbody, e.Transform()); + s_SimulatedEntities.push_back(e); + Entity* entityStorage = &s_EntityStorageBuffer[s_EntityStorageBufferPosition++]; + *entityStorage = e; + actor->userData = (void*)entityStorage; + rigidbody.RuntimeActor = actor; + + // Physics Material + const physx::PxMaterial* material = PxPhysicsWrappers::CreateMaterial(e.GetComponent()); + + auto [translation, rotationQuat, scale] = GetTransformDecomposition(e.Transform()); + + // Add all colliders + if (e.HasComponent()) + { + const BoxColliderComponent& collider = e.GetComponent(); + PxPhysicsWrappers::AddBoxCollider(*actor, *material, collider, scale); + } + + if (e.HasComponent()) + { + const SphereColliderComponent& collider = e.GetComponent(); + PxPhysicsWrappers::AddSphereCollider(*actor, *material, collider, scale); + } + + if (e.HasComponent()) + { + const CapsuleColliderComponent& collider = e.GetComponent(); + PxPhysicsWrappers::AddCapsuleCollider(*actor, *material, collider, scale); + } + + if (e.HasComponent()) + { + MeshColliderComponent& collider = e.GetComponent(); + PxPhysicsWrappers::AddMeshCollider(*actor, *material, collider, scale); + } + + // Set collision filters if (rigidbody.BodyType == RigidBodyComponent::Type::Static) { - actor = s_PXPhysicsFactory->createRigidStatic(CreatePose(transform)); + PxPhysicsWrappers::SetCollisionFilters(*actor, (uint32_t)FilterGroup::Static, (uint32_t)FilterGroup::All); } else if (rigidbody.BodyType == RigidBodyComponent::Type::Dynamic) { - physx::PxRigidDynamic* dynamicActor = s_PXPhysicsFactory->createRigidDynamic(CreatePose(transform)); - physx::PxRigidBodyExt::updateMassAndInertia(*dynamicActor, rigidbody.Mass); - - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_X, rigidbody.LockPositionX); - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Y, rigidbody.LockPositionY); - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Z, rigidbody.LockPositionZ); - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X, rigidbody.LockRotationX); - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y, rigidbody.LockRotationY); - dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z, rigidbody.LockRotationZ); - - actor = dynamicActor; + PxPhysicsWrappers::SetCollisionFilters(*actor, (uint32_t)FilterGroup::Dynamic, (uint32_t)FilterGroup::All); } - actor->setActorFlag(physx::PxActorFlag::eVISUALIZATION, true); - - scene->addActor(*actor); - - return actor; + s_Scene->addActor(*actor); } - physx::PxMaterial* Physics3D::CreateMaterial(float staticFriction, float dynamicFriction, float restitution) + void Physics3D::Simulate(TimeStep ts) { - return s_PXPhysicsFactory->createMaterial(staticFriction, dynamicFriction, restitution); - } + s_Scene->simulate(ts); + s_Scene->fetchResults(true); - physx::PxConvexMesh* Physics3D::CreateMeshCollider(const Ref& mesh) - { - const auto& vertices = mesh->GetStaticVertices(); - const auto& indices = mesh->GetIndices(); - const physx::PxCookingParams cookingParams(s_PXPhysicsFactory->getTolerancesScale()); - - physx::PxConvexMeshDesc convexDesc; - convexDesc.points.count = (physx::PxU32)vertices.size(); - convexDesc.points.stride = sizeof(Vertex); - convexDesc.points.data = vertices.data(); - convexDesc.flags = physx::PxConvexFlag::eCOMPUTE_CONVEX; - - const physx::PxDefaultMemoryOutputStream buf; - physx::PxConvexMeshCookingResult::Enum result; - - physx::PxConvexMesh* convexMesh = PxCreateConvexMesh( - cookingParams, // 第一步准备的烹饪参数 - convexDesc, // 第二步准备的网格描述 - *PxGetStandaloneInsertionCallback(), // 便捷的回调函数,用于将资源插入物理SDK - &result // [可选] 获取烹饪结果详情 - ); - if (!convexMesh) { - PM_CORE_ERROR("Failed to create convex mesh. Cooking result code: {}", static_cast(result)); - return nullptr; - } - - return convexMesh; - } - - physx::PxTransform Physics3D::CreatePose(const glm::mat4& transform) - { - auto [translation, rotationQuat, scale] = GetTransformDecomposition(transform); - const glm::vec3 rotation = glm::eulerAngles(rotationQuat); - - physx::PxTransform physxTransform(physx::PxVec3(translation.x, translation.y, translation.z)); - physxTransform.rotate(physx::PxVec3(rotation.x, rotation.y, rotation.z)); - return physxTransform; - } - - void Physics3D::SetCollisionFilters(physx::PxRigidActor* actor, uint32_t filterGroup, uint32_t filterMask) - { - physx::PxFilterData filterData; - filterData.word0 = filterGroup; // word0 = own ID - filterData.word1 = filterMask; // word1 = ID mask to filter pairs that trigger a - // contact callback; - const physx::PxU32 numShapes = actor->getNbShapes(); - physx::PxShape** shapes = (physx::PxShape**)s_PXAllocator.allocate(sizeof(physx::PxShape*) * numShapes, "", "", 0); - actor->getShapes(shapes, numShapes); - for (physx::PxU32 i = 0; i < numShapes; i++) + for (Entity& e : s_SimulatedEntities) { - physx::PxShape* shape = shapes[i]; - shape->setFlag(physx::PxShapeFlag::eVISUALIZATION, true); - shape->setSimulationFilterData(filterData); - } + auto& transform = e.Transform(); + // TODO: Come up with a better solution for scale + auto [p, r, scale] = GetTransformDecomposition(transform); + const auto& rb = e.GetComponent(); + const auto actor = static_cast(rb.RuntimeActor); - s_PXAllocator.deallocate(shapes); + if (rb.BodyType == RigidBodyComponent::Type::Dynamic) + { + transform = FromPhysXTransform(actor->getGlobalPose()) * glm::scale(glm::mat4(1.0f), scale); + } + else if (rb.BodyType == RigidBodyComponent::Type::Static) + { + actor->setGlobalPose(ToPhysXTransform(transform)); + } + } } - physx::PxDefaultErrorCallback Physics3D::s_PXErrorCallback; - physx::PxDefaultAllocator Physics3D::s_PXAllocator; - physx::PxFoundation* Physics3D::s_PXFoundation; - physx::PxPhysics* Physics3D::s_PXPhysicsFactory; - physx::PxPvd* Physics3D::s_PXPvd; -} \ No newline at end of file + void Physics3D::DestroyScene() + { + delete[] s_EntityStorageBuffer; + s_EntityStorageBuffer = nullptr; + s_EntityStorageBufferPosition = 0; + + s_SimulatedEntities.clear(); + s_Scene->release(); + s_Scene = nullptr; + } + + bool Physics3D::ConnectPVD() + { + PM_CORE_INFO("Trying to connect PVD"); + const bool isconnect = PxPhysicsWrappers::ConnectPVD(); + if (isconnect) + PM_CORE_INFO("PVD Connected"); + else + PM_CORE_WARN("canot connect PVD!"); + return isconnect; + } + + bool Physics3D::IsPVDConnected() {return PxPhysicsWrappers::IsPVDConnected();} + + void Physics3D::DisconnectPVD() + { + PxPhysicsWrappers::DisconnectPVD(); + } + + +} diff --git a/Prism/src/Prism/Physics/Physics3D.h b/Prism/src/Prism/Physics/Physics3D.h index 59deea3..c8477a2 100644 --- a/Prism/src/Prism/Physics/Physics3D.h +++ b/Prism/src/Prism/Physics/Physics3D.h @@ -4,10 +4,10 @@ #ifndef PHYSXMANAGER_H #define PHYSXMANAGER_H -#define PX_PHYSX_STATIC_LIB -#include #include "glm/glm.hpp" #include "Prism/Scene/Components.h" +#include "Prism/Scene/Entity.h" + namespace Prism { @@ -21,10 +21,15 @@ namespace Prism enum class FilterGroup : uint32_t { - Static = BIT(0), - Dynamic = BIT(1), + Static = BIT(0), + Dynamic = BIT(1), Kinematic = BIT(2), - All = Static | Dynamic | Kinematic + All = Static | Dynamic | Kinematic + }; + + struct SceneParams + { + glm::vec3 Gravity = { 0.0F, -9.81F, 0.0F }; }; class PRISM_API Physics3D @@ -33,22 +38,16 @@ namespace Prism static void Init(); static void Shutdown(); - static physx::PxSceneDesc CreateSceneDesc(); - static physx::PxScene* CreateScene(const physx::PxSceneDesc& sceneDesc); - static physx::PxRigidActor* CreateAndAddActor(physx::PxScene* scene, const RigidBodyComponent& rigidbody, const glm::mat4& transform); - static physx::PxMaterial* CreateMaterial(float staticFriction, float dynamicFriction, float restitution); - static physx::PxConvexMesh* CreateMeshCollider(const Ref& mesh); + static void CreateScene(const SceneParams& params); + static void CreateActor(Entity e, int entityCount); - static physx::PxTransform CreatePose(const glm::mat4& transform); + static void Simulate(TimeStep ts); - static void SetCollisionFilters(physx::PxRigidActor* actor, uint32_t filterGroup, uint32_t filterMask); + static void DestroyScene(); - // private: - static physx::PxDefaultErrorCallback s_PXErrorCallback; - static physx::PxDefaultAllocator s_PXAllocator; - static physx::PxFoundation* s_PXFoundation; - static physx::PxPhysics* s_PXPhysicsFactory; - static physx::PxPvd* s_PXPvd; + static bool ConnectPVD(); + static bool IsPVDConnected(); + static void DisconnectPVD(); }; } diff --git a/Prism/src/Prism/Physics/PhysicsUtils.cpp b/Prism/src/Prism/Physics/PhysicsUtils.cpp new file mode 100644 index 0000000..673c59b --- /dev/null +++ b/Prism/src/Prism/Physics/PhysicsUtils.cpp @@ -0,0 +1,149 @@ +// +// Created by sfd on 25-12-20. +// + +#include "PhysicsUtils.h" + +#define GLM_ENABLE_EXPERIMENTAL +#include "glm/gtx/quaternion.hpp" +#include "Prism/Script/ScriptEngine.h" + + +namespace Prism +{ + physx::PxTransform ToPhysXTransform(const glm::mat4& matrix) + { + const physx::PxQuat r = ToPhysXQuat(glm::normalize(glm::toQuat(matrix))); + const physx::PxVec3 p = ToPhysXVector(glm::vec3(matrix[3])); + return physx::PxTransform{p, r}; + } + + physx::PxMat44 ToPhysXMatrix(const glm::mat4& matrix) + { + return *(physx::PxMat44*)&matrix; + } + + physx::PxVec3 ToPhysXVector(const glm::vec3& vector) + { + return {vector.x, vector.y, vector.z}; + } + + physx::PxVec4 ToPhysXVector(const glm::vec4& vector) + { + return {vector.x, vector.y, vector.z, vector.w}; + } + + physx::PxQuat ToPhysXQuat(const glm::quat& quat) + { + return {quat.x, quat.y, quat.z, quat.w}; + } + + glm::mat4 FromPhysXTransform(const physx::PxTransform& transform) + { + glm::quat rotation = FromPhysXQuat(transform.q); + glm::vec3 position = FromPhysXVector(transform.p); + return glm::translate(glm::mat4(1.0F), position) * glm::toMat4(rotation); + } + + glm::mat4 FromPhysXMatrix(const physx::PxMat44& matrix) + { + return *(glm::mat4*)&matrix; + } + + glm::vec3 FromPhysXVector(const physx::PxVec3& vector) + { + return {vector.x, vector.y, vector.z}; + } + + glm::vec4 FromPhysXVector(const physx::PxVec4& vector) + { + return {vector.x, vector.y, vector.z, vector.w}; + } + + glm::quat FromPhysXQuat(const physx::PxQuat& quat) + { + return {quat.w, quat.x, quat.y, quat.z}; + } + + physx::PxFilterFlags HazelFilterShader(physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0, physx::PxFilterObjectAttributes attributes1, physx::PxFilterData filterData1, physx::PxPairFlags& pairFlags, const void* constantBlock, physx::PxU32 constantBlockSize) + { + if (physx::PxFilterObjectIsTrigger(attributes0) || physx::PxFilterObjectIsTrigger(attributes1)) + { + pairFlags = physx::PxPairFlag::eTRIGGER_DEFAULT; + return physx::PxFilterFlag::eDEFAULT; + } + + pairFlags = physx::PxPairFlag::eCONTACT_DEFAULT; + + if ((filterData0.word0 & filterData1.word1) || (filterData1.word0 & filterData0.word1)) + { + pairFlags |= physx::PxPairFlag::eNOTIFY_TOUCH_FOUND; + pairFlags |= physx::PxPairFlag::eNOTIFY_TOUCH_LOST; + } + + return physx::PxFilterFlag::eDEFAULT; + } + + void ContactListener::onConstraintBreak(physx::PxConstraintInfo* constraints, physx::PxU32 count) + { + PX_UNUSED(constraints); + PX_UNUSED(count); + } + + void ContactListener::onWake(physx::PxActor** actors, physx::PxU32 count) + { + PX_UNUSED(actors); + PX_UNUSED(count); + } + + void ContactListener::onSleep(physx::PxActor** actors, physx::PxU32 count) + { + PX_UNUSED(actors); + PX_UNUSED(count); + } + + void ContactListener::onContact(const physx::PxContactPairHeader& pairHeader, const physx::PxContactPair* pairs, physx::PxU32 nbPairs) + { + const Entity& a = *static_cast(pairHeader.actors[0]->userData); + const Entity& b = *static_cast(pairHeader.actors[1]->userData); + + if (pairs->flags == physx::PxContactPairFlag::eACTOR_PAIR_HAS_FIRST_TOUCH) + { + if (ScriptEngine::IsEntityModuleValid(a)) ScriptEngine::OnCollisionBegin(a); + if (ScriptEngine::IsEntityModuleValid(b)) ScriptEngine::OnCollisionBegin(b); + } + else if (pairs->flags == physx::PxContactPairFlag::eACTOR_PAIR_LOST_TOUCH) + { + if (ScriptEngine::IsEntityModuleValid(a)) ScriptEngine::OnCollisionEnd(a); + if (ScriptEngine::IsEntityModuleValid(b)) ScriptEngine::OnCollisionEnd(b); + } + } + + void ContactListener::onTrigger(physx::PxTriggerPair* pairs, physx::PxU32 count) + { + + const Entity& a = *static_cast(pairs->triggerActor->userData); + const Entity& b = *static_cast(pairs->otherActor->userData); + + if (pairs->status == physx::PxPairFlag::eNOTIFY_TOUCH_FOUND) + { + if (ScriptEngine::IsEntityModuleValid(a)) ScriptEngine::OnTriggerBegin(a); + if (ScriptEngine::IsEntityModuleValid(b)) ScriptEngine::OnTriggerBegin(b); + } + else if (pairs->status == physx::PxPairFlag::eNOTIFY_TOUCH_LOST) + { + if (ScriptEngine::IsEntityModuleValid(a)) ScriptEngine::OnTriggerEnd(a); + if (ScriptEngine::IsEntityModuleValid(b)) ScriptEngine::OnTriggerEnd(b); + } + + PX_UNUSED(count); + } + + void ContactListener::onAdvance(const physx::PxRigidBody* const* bodyBuffer, const physx::PxTransform* poseBuffer, const physx::PxU32 count) + { + PX_UNUSED(bodyBuffer); + PX_UNUSED(poseBuffer); + PX_UNUSED(count); + } + +} diff --git a/Prism/src/Prism/Physics/PhysicsUtils.h b/Prism/src/Prism/Physics/PhysicsUtils.h new file mode 100644 index 0000000..192a3b4 --- /dev/null +++ b/Prism/src/Prism/Physics/PhysicsUtils.h @@ -0,0 +1,46 @@ +// +// Created by sfd on 25-12-20. +// + +#ifndef PHYSICSUTILS_H +#define PHYSICSUTILS_H + +#define PX_PHYSX_STATIC_LIB +#include + +#include "glm/glm.hpp" + +namespace Prism +{ + + physx::PxTransform ToPhysXTransform(const glm::mat4& matrix); + physx::PxMat44 ToPhysXMatrix(const glm::mat4& matrix); + physx::PxVec3 ToPhysXVector(const glm::vec3& vector); + physx::PxVec4 ToPhysXVector(const glm::vec4& vector); + physx::PxQuat ToPhysXQuat(const glm::quat& quat); + + glm::mat4 FromPhysXTransform(const physx::PxTransform& transform); + glm::mat4 FromPhysXMatrix(const physx::PxMat44& matrix); + glm::vec3 FromPhysXVector(const physx::PxVec3& vector); + glm::vec4 FromPhysXVector(const physx::PxVec4& vector); + glm::quat FromPhysXQuat(const physx::PxQuat& quat); + + physx::PxFilterFlags HazelFilterShader(physx::PxFilterObjectAttributes attributes0, physx::PxFilterData filterData0, physx::PxFilterObjectAttributes attributes1, + physx::PxFilterData filterData1, physx::PxPairFlags& pairFlags, const void* constantBlock, physx::PxU32 constantBlockSize); + + class ContactListener final : public physx::PxSimulationEventCallback + { + public: + virtual void onConstraintBreak(physx::PxConstraintInfo* constraints, physx::PxU32 count) override; + virtual void onWake(physx::PxActor** actors, physx::PxU32 count) override; + virtual void onSleep(physx::PxActor** actors, physx::PxU32 count) override; + virtual void onContact(const physx::PxContactPairHeader& pairHeader, const physx::PxContactPair* pairs, physx::PxU32 nbPairs) override; + virtual void onTrigger(physx::PxTriggerPair* pairs, physx::PxU32 count) override; + virtual void onAdvance(const physx::PxRigidBody* const* bodyBuffer, const physx::PxTransform* poseBuffer, physx::PxU32 count) override; + }; + + +} + + +#endif //PHYSICSUTILS_H diff --git a/Prism/src/Prism/Physics/PxPhysicsWrappers.cpp b/Prism/src/Prism/Physics/PxPhysicsWrappers.cpp new file mode 100644 index 0000000..7b5f83f --- /dev/null +++ b/Prism/src/Prism/Physics/PxPhysicsWrappers.cpp @@ -0,0 +1,282 @@ +// +// Created by sfd on 25-12-20. +// + +#include "PxPhysicsWrappers.h" +#include "Physics3D.h" +#include + +#define GLM_ENABLE_EXPERIMENTAL +#include + +#define PHYSX_DEBUGGER 1 + +namespace Prism +{ + static physx::PxDefaultErrorCallback s_ErrorCallback; + static physx::PxDefaultAllocator s_Allocator; + static physx::PxFoundation* s_Foundation; + static physx::PxPhysics* s_Physics; + static physx::PxPvd* s_VisualDebugger; + + static physx::PxSimulationFilterShader s_FilterShader = physx::PxDefaultSimulationFilterShader; + + static ContactListener s_ContactListener; + + physx::PxScene* PxPhysicsWrappers::CreateScene(const SceneParams& sceneParams) + { + physx::PxSceneDesc sceneDesc(s_Physics->getTolerancesScale()); + + sceneDesc.gravity = ToPhysXVector(sceneParams.Gravity); + sceneDesc.cpuDispatcher = physx::PxDefaultCpuDispatcherCreate(1); + sceneDesc.filterShader = HazelFilterShader; + sceneDesc.simulationEventCallback = &s_ContactListener; + + PM_CORE_ASSERT(sceneDesc.isValid()); + return s_Physics->createScene(sceneDesc); + } + + physx::PxRigidActor* PxPhysicsWrappers::CreateActor(const RigidBodyComponent& rigidbody, const glm::mat4& transform) + { + physx::PxRigidActor* actor = nullptr; + + if (rigidbody.BodyType == RigidBodyComponent::Type::Static) + { + actor = s_Physics->createRigidStatic(ToPhysXTransform(transform)); + } + else if (rigidbody.BodyType == RigidBodyComponent::Type::Dynamic) + { + physx::PxRigidDynamic* dynamicActor = s_Physics->createRigidDynamic(ToPhysXTransform(transform)); + + dynamicActor->setRigidBodyFlag(physx::PxRigidBodyFlag::eKINEMATIC, rigidbody.IsKinematic); + + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_X, rigidbody.LockPositionX); + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Y, rigidbody.LockPositionY); + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Z, rigidbody.LockPositionZ); + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X, rigidbody.LockRotationX); + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y, rigidbody.LockRotationY); + dynamicActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z, rigidbody.LockRotationZ); + + physx::PxRigidBodyExt::updateMassAndInertia(*dynamicActor, rigidbody.Mass); + actor = dynamicActor; + } + + return actor; + } + + void PxPhysicsWrappers::SetCollisionFilters(const physx::PxRigidActor& actor, const uint32_t actorGroup, const uint32_t filters) + { + physx::PxFilterData filterData; + filterData.word0 = actorGroup; + filterData.word1 = filters; + + const physx::PxU32 numShapes = actor.getNbShapes(); + + const auto shapes = static_cast(s_Allocator.allocate(sizeof(physx::PxShape*) * numShapes, "", "", 0)); + actor.getShapes(shapes, numShapes); + + for (physx::PxU32 i = 0; i < numShapes; i++) + shapes[i]->setSimulationFilterData(filterData); + + s_Allocator.deallocate(shapes); + } + + void PxPhysicsWrappers::AddBoxCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material, const BoxColliderComponent& collider, const glm::vec3& scale) + { + glm::vec3 colliderSize = collider.Size; + + if (scale.x != 0.0f) colliderSize.x *= scale.x; + if (scale.y != 0.0f) colliderSize.y *= scale.y; + if (scale.z != 0.0f) colliderSize.z *= scale.z; + + const auto boxGeometry = physx::PxBoxGeometry(colliderSize.x / 2.0f, colliderSize.y / 2.0f, colliderSize.z / 2.0f); + + physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(actor, boxGeometry, material); + shape->setFlag(physx::PxShapeFlag::eSIMULATION_SHAPE, !collider.IsTrigger); + shape->setFlag(physx::PxShapeFlag::eTRIGGER_SHAPE, collider.IsTrigger); + + shape->setLocalPose(ToPhysXTransform(glm::translate(glm::mat4(1.0F), collider.Offset))); + } + + void PxPhysicsWrappers::AddSphereCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material, const SphereColliderComponent& collider, const glm::vec3& scale) + { + float colliderRadius = collider.Radius; + + if (scale.x != 0.0f) colliderRadius *= scale.x; + + const auto sphereGeometry = physx::PxSphereGeometry(colliderRadius); + + physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(actor, sphereGeometry, material); + shape->setFlag(physx::PxShapeFlag::eSIMULATION_SHAPE, !collider.IsTrigger); + shape->setFlag(physx::PxShapeFlag::eTRIGGER_SHAPE, collider.IsTrigger); + } + + void PxPhysicsWrappers::AddCapsuleCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material,const CapsuleColliderComponent& collider, const glm::vec3& scale) + { + float colliderRadius = collider.Radius; + float colliderHeight = collider.Height; + + if (scale.x != 0.0F) colliderRadius *= scale.x * 0.5f; + if (scale.y != 0.0F) colliderHeight *= scale.y; + + + const auto capsuleGeometry = physx::PxCapsuleGeometry(colliderRadius, colliderHeight / 2.0F); + + physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(actor, capsuleGeometry, material); + shape->setFlag(physx::PxShapeFlag::eSIMULATION_SHAPE, !collider.IsTrigger); + shape->setFlag(physx::PxShapeFlag::eTRIGGER_SHAPE, collider.IsTrigger); + + shape->setLocalPose(physx::PxTransform(physx::PxQuat(physx::PxHalfPi, physx::PxVec3(0, 0, 1)))); + } + + + void PxPhysicsWrappers::AddMeshCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material,MeshColliderComponent& collider, const glm::vec3& scale) + { + // TODO: Possibly take a look at https://github.com/kmammou/v-hacd for computing convex meshes from triangle meshes... + physx::PxConvexMeshGeometry triangleGeometry = physx::PxConvexMeshGeometry(CreateConvexMesh(collider)); + triangleGeometry.meshFlags = physx::PxConvexMeshGeometryFlag::eTIGHT_BOUNDS; + physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(actor, triangleGeometry, material); + shape->setFlag(physx::PxShapeFlag::eSIMULATION_SHAPE, !collider.IsTrigger); + shape->setFlag(physx::PxShapeFlag::eTRIGGER_SHAPE, collider.IsTrigger); + + // TODO: temp solve + // physx::PxQuat rotation(physx::PxPi / 2.0f, physx::PxVec3(1.0f, 0.0f, 0.0f)); + // shape->setLocalPose(physx::PxTransform(physx::PxVec3(0.0f), rotation)); + } + + physx::PxConvexMesh* PxPhysicsWrappers::CreateConvexMesh(MeshColliderComponent& collider) + { + const auto& vertices = collider.CollisionMesh->GetStaticVertices(); + + const physx::PxCookingParams cookingParams(s_Physics->getTolerancesScale()); + + physx::PxConvexMeshDesc convexDesc; + convexDesc.points.count = static_cast(vertices.size()); + convexDesc.points.stride = sizeof(Vertex); + convexDesc.points.data = vertices.data(); + convexDesc.flags = physx::PxConvexFlag::eCOMPUTE_CONVEX; + + physx::PxDefaultMemoryOutputStream buf; + physx::PxConvexMeshCookingResult::Enum result; + physx::PxConvexMesh* mesh = PxCreateConvexMesh( + cookingParams, // 第一步准备的烹饪参数 + convexDesc, // 第二步准备的网格描述 + *PxGetStandaloneInsertionCallback(), // 便捷的回调函数,用于将资源插入物理SDK + &result // [可选] 获取烹饪结果详情 + ); + if (!collider.ProcessedMesh) + { + // Based On: https://github.com/EpicGames/UnrealEngine/blob/08ee319f80ef47dbf0988e14b546b65214838ec4/Engine/Source/ThirdParty/PhysX3/NvCloth/samples/SampleBase/renderer/ConvexRenderMesh.cpp + + const uint32_t nbPolygons = mesh->getNbPolygons(); + const physx::PxVec3* convexVertices = mesh->getVertices(); + const physx::PxU8* convexIndices = mesh->getIndexBuffer(); + + uint32_t nbVertices = 0; + uint32_t nbFaces = 0; + + for (uint32_t i = 0; i < nbPolygons; i++) + { + physx::PxHullPolygon polygon; + mesh->getPolygonData(i, polygon); + nbVertices += polygon.mNbVerts; + nbFaces += (polygon.mNbVerts - 2) * 3; + } + + std::vector collisionVertices; + std::vector collisionIndices; + + collisionVertices.resize(nbVertices); + collisionIndices.resize(nbFaces / 3); + + uint32_t vertCounter = 0; + uint32_t indexCounter = 0; + for (uint32_t i = 0; i < nbPolygons; i++) + { + physx::PxHullPolygon polygon; + mesh->getPolygonData(i, polygon); + + const uint32_t vI0 = vertCounter; + for (uint32_t vI = 0; vI < polygon.mNbVerts; vI++) + { + // collisionVertices[vertCounter].Position = FromPhysXVector(convexVertices[convexIndices[polygon.mIndexBase + vI]]); + // TODO: temp solve + // this glm::rotate need #include + collisionVertices[vertCounter].Position = glm::rotate(FromPhysXVector(convexVertices[convexIndices[polygon.mIndexBase + vI]]), glm::radians(90.0f), { 1.0f, 0.0f, 0.0f}); + vertCounter++; + } + + for (uint32_t vI = 1; vI < static_cast(polygon.mNbVerts) - 1; vI++) + { + collisionIndices[indexCounter].V1 = static_cast(vI0); + collisionIndices[indexCounter].V2 = static_cast(vI0 + vI + 1); + collisionIndices[indexCounter].V3 = static_cast(vI0 + vI); + indexCounter++; + } + } + + collider.ProcessedMesh = Ref::Create(collisionVertices, collisionIndices); + } + + return mesh; + } + + physx::PxMaterial* PxPhysicsWrappers::CreateMaterial(const PhysicsMaterialComponent& material) + { + return s_Physics->createMaterial(material.StaticFriction, material.DynamicFriction, material.Bounciness); + } + + void PxPhysicsWrappers::Initialize() + { + PM_CORE_ASSERT(!s_Foundation, "PXPhysicsWrappers::Initializer shouldn't be called more than once!"); + + s_Foundation = PxCreateFoundation(PX_PHYSICS_VERSION, s_Allocator, s_ErrorCallback); + PM_CORE_ASSERT(s_Foundation, "PxCreateFoundation Failed!"); + + #if PHYSX_DEBUGGER + s_VisualDebugger = PxCreatePvd(*s_Foundation); + ConnectPVD(); + #endif + + s_Physics = PxCreatePhysics(PX_PHYSICS_VERSION, *s_Foundation, physx::PxTolerancesScale(), true, s_VisualDebugger); + PM_CORE_ASSERT(s_Physics, "PxCreatePhysics Failed!"); + } + + void PxPhysicsWrappers::Shutdown() + { + s_Physics->release(); + s_Foundation->release(); + } + + bool PxPhysicsWrappers::ConnectPVD() + { + bool isConnect = false; + #if PHYSX_DEBUGGER + physx::PxPvdTransport* transport = physx::PxDefaultPvdSocketTransportCreate("localhost", 5425, 10); + if (s_VisualDebugger->isConnected()) + { + PM_CORE_WARN("PVD is already connected, reconnecting"); + s_VisualDebugger->disconnect(); + } + isConnect = s_VisualDebugger->connect(*transport, physx::PxPvdInstrumentationFlag::eALL); + #endif + return isConnect; + } + + bool PxPhysicsWrappers::IsPVDConnected() + { + return s_VisualDebugger->isConnected(); + } + + void PxPhysicsWrappers::DisconnectPVD() + { + #if PHYSX_DEBUGGER + if (s_VisualDebugger->isConnected(false)) + { + s_VisualDebugger->disconnect(); + PM_CORE_INFO("PVD is disconnected"); + } + #endif + } + +} \ No newline at end of file diff --git a/Prism/src/Prism/Physics/PxPhysicsWrappers.h b/Prism/src/Prism/Physics/PxPhysicsWrappers.h new file mode 100644 index 0000000..5c381c8 --- /dev/null +++ b/Prism/src/Prism/Physics/PxPhysicsWrappers.h @@ -0,0 +1,46 @@ +// +// Created by sfd on 25-12-20. +// + +#ifndef PXPHYSICSWRAPPERS_H +#define PXPHYSICSWRAPPERS_H + +#include "PhysicsUtils.h" +#include "Prism/Scene/Components.h" + +namespace Prism +{ + struct SceneParams; + + class PxPhysicsWrappers + { + public: + static physx::PxScene* CreateScene(const SceneParams& sceneParams); + static physx::PxRigidActor* CreateActor(const RigidBodyComponent& rigidbody, const glm::mat4& transform); + static void SetCollisionFilters(const physx::PxRigidActor& actor, uint32_t actorGroup, uint32_t filters); + + static void AddBoxCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material, const BoxColliderComponent& collider, const glm::vec3& scale = glm::vec3(0.0f)); + static void AddSphereCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material, const SphereColliderComponent& collider, const glm::vec3& scale = glm::vec3(0.0f)); + static void AddCapsuleCollider(physx::PxRigidActor& actor, const physx::PxMaterial& material, const CapsuleColliderComponent& collider, const glm::vec3& scale = glm::vec3(0.0f)); + static void AddMeshCollider(::physx::PxRigidActor& actor, const ::physx::PxMaterial& material, ::Prism::MeshColliderComponent& collider, const glm::vec3& scale = glm::vec3(0.0f)); + + static physx::PxConvexMesh* CreateConvexMesh(MeshColliderComponent& collider); + + + static physx::PxMaterial* CreateMaterial(const PhysicsMaterialComponent& material); + + private: + static void Initialize(); + static void Shutdown(); + + static bool ConnectPVD(); + static bool IsPVDConnected(); + static void DisconnectPVD(); + + private: + friend class Physics3D; + }; +} + + +#endif //PXPHYSICSWRAPPERS_H diff --git a/Prism/src/Prism/Platform/Windows/WindowsInput.cpp b/Prism/src/Prism/Platform/Windows/WindowsInput.cpp index 072c25e..400347d 100644 --- a/Prism/src/Prism/Platform/Windows/WindowsInput.cpp +++ b/Prism/src/Prism/Platform/Windows/WindowsInput.cpp @@ -42,6 +42,20 @@ namespace Prism double xpos, ypos; glfwGetCursorPos(static_cast(window.GetNativeWindow()), &xpos, &ypos); - return {(float)xpos, (float)ypos}; + return {static_cast(xpos), static_cast(ypos)}; + } + + // TODO: A better way to do this is to handle it internally, and simply move the cursor the opposite side + // of the screen when it reaches the edge + void Input::SetCursorMode(CursorMode mode) + { + const auto& window = dynamic_cast(Application::Get().GetWindow()); + glfwSetInputMode(static_cast(window.GetNativeWindow()), GLFW_CURSOR, GLFW_CURSOR_NORMAL + static_cast(mode)); + } + + CursorMode Input::GetCursorMode() + { + const auto& window = dynamic_cast(Application::Get().GetWindow()); + return static_cast(glfwGetInputMode(static_cast(window.GetNativeWindow()), GLFW_CURSOR) - GLFW_CURSOR_NORMAL); } } diff --git a/Prism/src/Prism/Platform/Windows/WindowsWindow.cpp b/Prism/src/Prism/Platform/Windows/WindowsWindow.cpp index cc6b6e1..ab0fa83 100644 --- a/Prism/src/Prism/Platform/Windows/WindowsWindow.cpp +++ b/Prism/src/Prism/Platform/Windows/WindowsWindow.cpp @@ -43,9 +43,8 @@ namespace Prism glfwPollEvents(); glfwSwapBuffers(m_Window); - ImGuiMouseCursor imgui_cursor = ImGui::GetMouseCursor(); + const ImGuiMouseCursor imgui_cursor = ImGui::GetMouseCursor(); glfwSetCursor(m_Window, m_ImGuiMouseCursors[imgui_cursor] ? m_ImGuiMouseCursors[imgui_cursor] : m_ImGuiMouseCursors[ImGuiMouseCursor_Arrow]); - glfwSetInputMode(m_Window, GLFW_CURSOR, GLFW_CURSOR_NORMAL); } void WindowsWindow::SetVSync(bool enable) diff --git a/Prism/src/Prism/Renderer/Mesh.cpp b/Prism/src/Prism/Renderer/Mesh.cpp index 9b6512b..ca13b8c 100644 --- a/Prism/src/Prism/Renderer/Mesh.cpp +++ b/Prism/src/Prism/Renderer/Mesh.cpp @@ -507,6 +507,30 @@ namespace Prism m_Pipeline = Pipeline::Create(pipelineSpecification); } + Mesh::Mesh(const std::vector& vertices, const std::vector& indices) + : m_StaticVertices(vertices), m_Indices(indices), m_IsAnimated(false) + { + Submesh submesh; + submesh.BaseVertex = 0; + submesh.BaseIndex = 0; + submesh.IndexCount = static_cast(indices.size()) * 3; + submesh.Transform = glm::mat4(1.0F); + m_Submeshes.push_back(submesh); + + m_VertexBuffer = VertexBuffer::Create(m_StaticVertices.data(), static_cast(m_StaticVertices.size()) * sizeof(Vertex)); + m_IndexBuffer = IndexBuffer::Create(m_Indices.data(), static_cast(m_Indices.size()) * sizeof(Index)); + + PipelineSpecification pipelineSpecification; + pipelineSpecification.Layout = { + { ShaderDataType::Float3, "a_Position" }, + { ShaderDataType::Float3, "a_Normal" }, + { ShaderDataType::Float3, "a_Tangent" }, + { ShaderDataType::Float3, "a_Binormal" }, + { ShaderDataType::Float2, "a_TexCoord" }, + }; + m_Pipeline = Pipeline::Create(pipelineSpecification); + } + Mesh::~Mesh() = default; void Mesh::OnUpdate(TimeStep deltaTime) @@ -706,14 +730,14 @@ namespace Prism if (nodeAnim->mNumRotationKeys == 1) { // No interpolation necessary for single value - auto v = nodeAnim->mRotationKeys[0].mValue; - return glm::quat(v.w, v.x, v.y, v.z); + const auto v = nodeAnim->mRotationKeys[0].mValue; + return {v.w, v.x, v.y, v.z}; } - uint32_t RotationIndex = FindRotation(animationTime, nodeAnim); - uint32_t NextRotationIndex = (RotationIndex + 1); + const uint32_t RotationIndex = FindRotation(animationTime, nodeAnim); + const uint32_t NextRotationIndex = (RotationIndex + 1); PM_CORE_ASSERT(NextRotationIndex < nodeAnim->mNumRotationKeys); - float DeltaTime = (float)(nodeAnim->mRotationKeys[NextRotationIndex].mTime - nodeAnim->mRotationKeys[RotationIndex].mTime); + const float DeltaTime = (float)(nodeAnim->mRotationKeys[NextRotationIndex].mTime - nodeAnim->mRotationKeys[RotationIndex].mTime); float Factor = (animationTime - (float)nodeAnim->mRotationKeys[RotationIndex].mTime) / DeltaTime; PM_CORE_ASSERT(Factor <= 1.0f, "Factor must be below 1.0f"); Factor = glm::clamp(Factor, 0.0f, 1.0f); @@ -722,7 +746,7 @@ namespace Prism auto q = aiQuaternion(); aiQuaternion::Interpolate(q, StartRotationQ, EndRotationQ, Factor); q = q.Normalize(); - return glm::quat(q.w, q.x, q.y, q.z); + return {q.w, q.x, q.y, q.z}; } glm::vec3 Mesh::InterpolateScale(const float animationTime, const aiNodeAnim* nodeAnim) diff --git a/Prism/src/Prism/Renderer/Mesh.h b/Prism/src/Prism/Renderer/Mesh.h index d986578..697d038 100644 --- a/Prism/src/Prism/Renderer/Mesh.h +++ b/Prism/src/Prism/Renderer/Mesh.h @@ -107,6 +107,7 @@ namespace Prism Mesh(const std::string& filename); + Mesh(const std::vector& vertices, const std::vector& indices); ~Mesh(); void OnUpdate(TimeStep deltaTime); diff --git a/Prism/src/Prism/Renderer/MeshFactory.cpp b/Prism/src/Prism/Renderer/MeshFactory.cpp new file mode 100644 index 0000000..32eb0d1 --- /dev/null +++ b/Prism/src/Prism/Renderer/MeshFactory.cpp @@ -0,0 +1,172 @@ +// +// Created by sfd on 25-12-21. +// + +#include "Meshfactory.h" + +namespace Prism +{ + Ref MeshFactory::CreateBox(const glm::vec3& size) + { + std::vector vertices; + vertices.resize(8); + vertices[0].Position = { -size.x / 2.0f, -size.y / 2.0f, size.z / 2.0f }; + vertices[1].Position = { size.x / 2.0f, -size.y / 2.0f, size.z / 2.0f }; + vertices[2].Position = { size.x / 2.0f, size.y / 2.0f, size.z / 2.0f }; + vertices[3].Position = { -size.x / 2.0f, size.y / 2.0f, size.z / 2.0f }; + vertices[4].Position = { -size.x / 2.0f, -size.y / 2.0f, -size.z / 2.0f }; + vertices[5].Position = { size.x / 2.0f, -size.y / 2.0f, -size.z / 2.0f }; + vertices[6].Position = { size.x / 2.0f, size.y / 2.0f, -size.z / 2.0f }; + vertices[7].Position = { -size.x / 2.0f, size.y / 2.0f, -size.z / 2.0f }; + + vertices[0].Normal = { -1.0f, -1.0f, 1.0f }; + vertices[1].Normal = { 1.0f, -1.0f, 1.0f }; + vertices[2].Normal = { 1.0f, 1.0f, 1.0f }; + vertices[3].Normal = { -1.0f, 1.0f, 1.0f }; + vertices[4].Normal = { -1.0f, -1.0f, -1.0f }; + vertices[5].Normal = { 1.0f, -1.0f, -1.0f }; + vertices[6].Normal = { 1.0f, 1.0f, -1.0f }; + vertices[7].Normal = { -1.0f, 1.0f, -1.0f }; + + std::vector indices; + indices.resize(12); + indices = { + { 0, 1, 2 }, + { 2, 3, 0 }, + { 1, 5, 6 }, + { 6, 2, 1 }, + { 7, 6, 5 }, + { 5, 4, 7 }, + { 4, 0, 3 }, + { 3, 7, 4 }, + { 4, 5, 1 }, + { 1, 0, 4 }, + { 3, 2, 6 }, + { 6, 7, 3 } + }; + + return Ref::Create(vertices, indices); + } + + Prism::Ref MeshFactory::CreateSphere(float radius) + { + std::vector vertices; + std::vector indices; + + constexpr float latitudeBands = 30; + constexpr float longitudeBands = 30; + + for (float latitude = 0.0f; latitude <= latitudeBands; latitude++) + { + const float theta = latitude * M_PI / latitudeBands; + const float sinTheta = glm::sin(theta); + float cosTheta = glm::cos(theta); + + for (float longitude = 0.0f; longitude <= longitudeBands; longitude++) + { + const float phi = longitude * 2 * M_PI / longitudeBands; + const float sinPhi = glm::sin(phi); + const float cosPhi = glm::cos(phi); + + Vertex vertex; + vertex.Normal = { cosPhi * sinTheta, cosTheta, sinPhi * sinTheta }; + vertex.Position = { radius * vertex.Normal.x, radius * vertex.Normal.y, radius * vertex.Normal.z }; + vertices.push_back(vertex); + } + } + + for (uint32_t latitude = 0; latitude < latitudeBands; latitude++) + { + for (uint32_t longitude = 0; longitude < longitudeBands; longitude++) + { + const uint32_t first = (latitude * (longitudeBands + 1)) + longitude; + const uint32_t second = first + longitudeBands + 1; + + indices.push_back({ first, second, first + 1 }); + indices.push_back({ second, second + 1, first + 1 }); + } + } + + return Ref::Create(vertices, indices); + } + + Ref MeshFactory::CreateCapsule(float radius, float height) + { + std::vector vertices; + std::vector indices; + + constexpr int segments = 30; + constexpr int pointCount = segments + 1; + + float pointsX[pointCount]; + float pointsY[pointCount]; + float pointsZ[pointCount]; + float pointsR[pointCount]; + + float calcH = 0.0f; + float calcV = 0.0f; + + for (int i = 0; i < pointCount; i++) + { + float calcHRadians = glm::radians(calcH); + float calcVRadians = glm::radians(calcV); + + pointsX[i] = glm::sin(calcHRadians); + pointsZ[i] = glm::cos(calcHRadians); + pointsY[i] = glm::cos(calcVRadians); + pointsR[i] = glm::sin(calcVRadians); + + calcH += 360.0f / (float)segments; + calcV += 180.0f / (float)segments; + } + + float yOffset = (height - (radius * 2.0f)) * 0.5f; + if (yOffset < 0.0f) + yOffset = 0.0f; + + int top = glm::ceil(pointCount * 0.5f); + + for (int y = 0; y < top; y++) + { + for (int x = 0; x < pointCount; x++) + { + Vertex vertex; + vertex.Position = glm::vec3( pointsX[x] * pointsR[y], pointsY[y] + yOffset, pointsZ[x] * pointsR[y] ) * radius; + vertices.push_back(vertex); + } + } + + int bottom = glm::floor(pointCount * 0.5f); + + for (int y = bottom; y < pointCount; y++) + { + for (int x = 0; x < pointCount; x++) + { + Vertex vertex; + vertex.Position = glm::vec3(pointsX[x] * pointsR[y], -yOffset + pointsY[y], pointsZ[x] * pointsR[y]) * radius; + vertices.push_back(vertex); + } + } + + for (int y = 0; y < segments + 1; y++) + { + for (int x = 0; x < segments; x++) + { + Index index1; + index1.V1 = ((y + 0) * (segments + 1)) + x + 0; + index1.V2 = ((y + 1) * (segments + 1)) + x + 0; + index1.V3 = ((y + 1) * (segments + 1)) + x + 1; + indices.push_back(index1); + + Index index2; + index2.V1 = ((y + 0) * (segments + 1)) + x + 1; + index2.V2 = ((y + 0) * (segments + 1)) + x + 0; + index2.V3 = ((y + 1) * (segments + 1)) + x + 1; + indices.push_back(index2); + } + } + + return Ref::Create(vertices, indices); + } + +} \ No newline at end of file diff --git a/Prism/src/Prism/Renderer/MeshFactory.h b/Prism/src/Prism/Renderer/MeshFactory.h new file mode 100644 index 0000000..71edb50 --- /dev/null +++ b/Prism/src/Prism/Renderer/MeshFactory.h @@ -0,0 +1,22 @@ +// +// Created by sfd on 25-12-21. +// + +#ifndef MESHFACTORY_H +#define MESHFACTORY_H + +#include "Mesh.h" + +namespace Prism +{ + class MeshFactory + { + public: + static Ref CreateBox(const glm::vec3& size); + static Ref CreateSphere(float radius); + static Ref CreateCapsule(float radius, float height); + }; +} + + +#endif //MESHFACTORY_H diff --git a/Prism/src/Prism/Renderer/SceneRenderer.cpp b/Prism/src/Prism/Renderer/SceneRenderer.cpp index b0db3d6..cbb81bd 100644 --- a/Prism/src/Prism/Renderer/SceneRenderer.cpp +++ b/Prism/src/Prism/Renderer/SceneRenderer.cpp @@ -15,138 +15,164 @@ namespace Prism { - struct SceneRendererData - { - const Scene* ActiveScene = nullptr; - struct SceneInfo - { - SceneRendererCamera SceneCamera; + struct SceneRendererData + { + const Scene* ActiveScene = nullptr; + struct SceneInfo + { + SceneRendererCamera SceneCamera; - // Resources - Ref SkyboxMaterial; - Environment SceneEnvironment; - Light ActiveLight; - } SceneData; + // Resources + Ref SkyboxMaterial; + Environment SceneEnvironment; + Light ActiveLight; + } SceneData; - Ref BRDFLUT; - Ref CompositeShader; + Ref BRDFLUT; + Ref CompositeShader; - Ref GeoPass; - Ref CompositePass; + Ref GeoPass; + Ref CompositePass; - struct DrawCommand - { - Ref mesh; - Ref Material; - glm::mat4 Transform; - }; - std::vector DrawList; - std::vector SelectedMeshDrawList; + struct DrawCommand + { + Ref mesh; + Ref Material; + glm::mat4 Transform; + }; + std::vector DrawList; + std::vector SelectedMeshDrawList; + std::vector ColliderDrawList; - // Grid - Ref GridMaterial; - Ref OutlineMaterial; + // Grid + Ref GridMaterial; + Ref OutlineMaterial; + Ref ColliderMaterial; SceneRendererOptions Options; - }; + }; - static SceneRendererData s_Data; + static SceneRendererData s_Data; - void SceneRenderer::Init() - { - FramebufferSpecification geoFramebufferSpec; - geoFramebufferSpec.Width = 1280; - geoFramebufferSpec.Height = 720; - geoFramebufferSpec.Format = FramebufferFormat::RGBA16F; - geoFramebufferSpec.Samples = 8; - geoFramebufferSpec.ClearColor = { 0.1f, 0.1f, 0.1f, 1.0f }; + void SceneRenderer::Init() + { + FramebufferSpecification geoFramebufferSpec; + geoFramebufferSpec.Width = 1280; + geoFramebufferSpec.Height = 720; + geoFramebufferSpec.Format = FramebufferFormat::RGBA16F; + geoFramebufferSpec.Samples = 8; + geoFramebufferSpec.ClearColor = { 0.1f, 0.1f, 0.1f, 1.0f }; - RenderPassSpecification geoRenderPassSpec; - geoRenderPassSpec.TargetFramebuffer = FrameBuffer::Create(geoFramebufferSpec); - s_Data.GeoPass = RenderPass::Create(geoRenderPassSpec); + RenderPassSpecification geoRenderPassSpec; + geoRenderPassSpec.TargetFramebuffer = FrameBuffer::Create(geoFramebufferSpec); + s_Data.GeoPass = RenderPass::Create(geoRenderPassSpec); - FramebufferSpecification compFramebufferSpec; - compFramebufferSpec.Width = 1280; - compFramebufferSpec.Height = 720; - compFramebufferSpec.Format = FramebufferFormat::RGBA8; - compFramebufferSpec.ClearColor = { 0.5f, 0.1f, 0.1f, 1.0f }; + FramebufferSpecification compFramebufferSpec; + compFramebufferSpec.Width = 1280; + compFramebufferSpec.Height = 720; + compFramebufferSpec.Format = FramebufferFormat::RGBA8; + compFramebufferSpec.ClearColor = { 0.5f, 0.1f, 0.1f, 1.0f }; - RenderPassSpecification compRenderPassSpec; - compRenderPassSpec.TargetFramebuffer = FrameBuffer::Create(compFramebufferSpec); - s_Data.CompositePass = RenderPass::Create(compRenderPassSpec); + RenderPassSpecification compRenderPassSpec; + compRenderPassSpec.TargetFramebuffer = FrameBuffer::Create(compFramebufferSpec); + s_Data.CompositePass = RenderPass::Create(compRenderPassSpec); s_Data.CompositeShader = Shader::Create("assets/shaders/SceneComposite.glsl"); - s_Data.BRDFLUT = Texture2D::Create("assets/textures/BRDF_LUT.tga"); + s_Data.BRDFLUT = Texture2D::Create("assets/textures/BRDF_LUT.tga"); - // Grid - const auto gridShader = Shader::Create("assets/shaders/Grid.glsl"); - s_Data.GridMaterial = MaterialInstance::Create(Material::Create(gridShader)); - constexpr float gridScale = 16.025f; - constexpr float gridSize = 0.025f; - s_Data.GridMaterial->Set("u_Scale", gridScale); - s_Data.GridMaterial->Set("u_Res", gridSize); + // Grid + const auto gridShader = Shader::Create("assets/shaders/Grid.glsl"); + s_Data.GridMaterial = MaterialInstance::Create(Material::Create(gridShader)); + constexpr float gridScale = 16.025f; + constexpr float gridSize = 0.025f; + s_Data.GridMaterial->Set("u_Scale", gridScale); + s_Data.GridMaterial->Set("u_Res", gridSize); // outline - const auto outlineShader = Shader::Create("assets/shaders/Outline.glsl"); - s_Data.OutlineMaterial = MaterialInstance::Create(Material::Create(outlineShader)); - s_Data.OutlineMaterial->SetFlag(MaterialFlag::DepthTest, false); + const auto outlineShader = Shader::Create("assets/shaders/Outline.glsl"); + s_Data.OutlineMaterial = MaterialInstance::Create(Material::Create(outlineShader)); + s_Data.OutlineMaterial->SetFlag(MaterialFlag::DepthTest, false); - } + // Collider + const auto colliderShader = Shader::Create("assets/shaders/Collider.glsl"); + s_Data.ColliderMaterial = MaterialInstance::Create(Material::Create(colliderShader)); + s_Data.ColliderMaterial->SetFlag(MaterialFlag::DepthTest, false); + } - void SceneRenderer::SetViewportSize(uint32_t width, uint32_t height) - { - s_Data.GeoPass->GetSpecification().TargetFramebuffer->Resize(width, height); - s_Data.CompositePass->GetSpecification().TargetFramebuffer->Resize(width, height); - } + void SceneRenderer::SetViewportSize(uint32_t width, uint32_t height) + { + s_Data.GeoPass->GetSpecification().TargetFramebuffer->Resize(width, height); + s_Data.CompositePass->GetSpecification().TargetFramebuffer->Resize(width, height); + } - void SceneRenderer::BeginScene(const Scene* scene, const SceneRendererCamera& camera) - { - PM_CORE_ASSERT(!s_Data.ActiveScene); + void SceneRenderer::BeginScene(const Scene* scene, const SceneRendererCamera& camera) + { + PM_CORE_ASSERT(!s_Data.ActiveScene); - s_Data.ActiveScene = scene; + s_Data.ActiveScene = scene; - s_Data.SceneData.SceneCamera = camera; - s_Data.SceneData.SkyboxMaterial = scene->m_SkyboxMaterial; - s_Data.SceneData.SceneEnvironment = scene->m_Environment; - s_Data.SceneData.ActiveLight = scene->m_Light; - } + s_Data.SceneData.SceneCamera = camera; + s_Data.SceneData.SkyboxMaterial = scene->m_SkyboxMaterial; + s_Data.SceneData.SceneEnvironment = scene->m_Environment; + s_Data.SceneData.ActiveLight = scene->m_Light; + } - void SceneRenderer::EndScene() - { - PM_CORE_ASSERT(s_Data.ActiveScene); + void SceneRenderer::EndScene() + { + PM_CORE_ASSERT(s_Data.ActiveScene); - s_Data.ActiveScene = nullptr; + s_Data.ActiveScene = nullptr; - FlushDrawList(); - } + FlushDrawList(); + } - void SceneRenderer::SubmitMesh(const Ref& mesh, const glm::mat4& transform, const Ref& overrideMaterial) - { - // TODO: Culling, sorting, etc. + void SceneRenderer::SubmitMesh(const Ref& mesh, const glm::mat4& transform, const Ref& overrideMaterial) + { + // TODO: Culling, sorting, etc. - s_Data.DrawList.push_back({ mesh, overrideMaterial, transform }); - } + s_Data.DrawList.push_back({ mesh, overrideMaterial, transform }); + } - void SceneRenderer::SubmitSelectedMesh(const Ref& mesh, const glm::mat4& transform) - { + void SceneRenderer::SubmitSelectedMesh(const Ref& mesh, const glm::mat4& transform) + { s_Data.SelectedMeshDrawList.push_back({ mesh, nullptr, transform }); - } + } + + void SceneRenderer::SubmitColliderMesh(const BoxColliderComponent& component, const glm::mat4& parentTransform) + { + s_Data.ColliderDrawList.push_back({ component.DebugMesh, nullptr, glm::translate(parentTransform, component.Offset)}); + } + + void SceneRenderer::SubmitColliderMesh(const SphereColliderComponent& component, const glm::mat4& parentTransform) + { + s_Data.ColliderDrawList.push_back({ component.DebugMesh, nullptr, parentTransform }); + } + + void SceneRenderer::SubmitColliderMesh(const CapsuleColliderComponent& component, const glm::mat4& parentTransform) + { + s_Data.ColliderDrawList.push_back({ component.DebugMesh, nullptr, parentTransform }); + } + + void SceneRenderer::SubmitColliderMesh(const MeshColliderComponent& component, const glm::mat4& parentTransform) + { + s_Data.ColliderDrawList.push_back({ component.ProcessedMesh, nullptr, parentTransform }); + } - static Ref equirectangularConversionShader, envFilteringShader, envIrradianceShader; + static Ref equirectangularConversionShader, envFilteringShader, envIrradianceShader; - std::pair, Ref> SceneRenderer::CreateEnvironmentMap(const std::string& filepath) - { - constexpr uint32_t cubemapSize = 2048; - constexpr uint32_t irradianceMapSize = 32; + std::pair, Ref> SceneRenderer::CreateEnvironmentMap(const std::string& filepath) + { + constexpr uint32_t cubemapSize = 2048; + constexpr uint32_t irradianceMapSize = 32; Ref envUnfiltered = TextureCube::Create(TextureFormat::Float16, cubemapSize, cubemapSize); if (!equirectangularConversionShader) equirectangularConversionShader = Shader::Create("assets/shaders/EquirectangularToCubeMap.glsl"); Ref envEquirect = Texture2D::Create(filepath); - if (envEquirect->GetFormat() != TextureFormat::Float16) - PM_CORE_WARN("Texture is not HDR!"); + if (envEquirect->GetFormat() != TextureFormat::Float16) + PM_CORE_WARN("Texture is not HDR!"); equirectangularConversionShader->Bind(); envEquirect->Bind(); @@ -198,46 +224,48 @@ namespace Prism }); return { envFiltered, irradianceMap }; - } + } - Ref SceneRenderer::GetFinalRenderPass() - { - return s_Data.CompositePass; - } + Ref SceneRenderer::GetFinalRenderPass() + { + return s_Data.CompositePass; + } - Ref SceneRenderer::GetFinalColorBuffer() - { - PM_CORE_ASSERT(false, "Not implemented"); - return nullptr; - } + Ref SceneRenderer::GetFinalColorBuffer() + { + PM_CORE_ASSERT(false, "Not implemented"); + return nullptr; + } - uint32_t SceneRenderer::GetFinalColorBufferRendererID() - { + uint32_t SceneRenderer::GetFinalColorBufferRendererID() + { return s_Data.CompositePass->GetSpecification().TargetFramebuffer->GetColorAttachmentRendererID(); - } + } - SceneRendererOptions& SceneRenderer::GetOptions() - { - return s_Data.Options; - } + SceneRendererOptions& SceneRenderer::GetOptions() + { + return s_Data.Options; + } - void SceneRenderer::FlushDrawList() - { - PM_CORE_ASSERT(!s_Data.ActiveScene); + void SceneRenderer::FlushDrawList() + { + PM_CORE_ASSERT(!s_Data.ActiveScene); - GeometryPass(); - CompositePass(); + GeometryPass(); + CompositePass(); - s_Data.DrawList.clear(); + s_Data.DrawList.clear(); s_Data.SelectedMeshDrawList.clear(); - s_Data.SceneData = {}; - } + s_Data.ColliderDrawList.clear(); + s_Data.SceneData = {}; + } - void SceneRenderer::GeometryPass() - { - bool outline = s_Data.SelectedMeshDrawList.size() > 0; + void SceneRenderer::GeometryPass() + { + const bool outline = s_Data.SelectedMeshDrawList.size() > 0; + const bool collider = s_Data.ColliderDrawList.size() > 0; - if (outline) + if (outline || collider) { Renderer::Submit([]() { @@ -247,7 +275,7 @@ namespace Prism Renderer::BeginRenderPass(s_Data.GeoPass); - if (outline) + if (outline || collider) { Renderer::Submit([]() { @@ -283,32 +311,6 @@ namespace Prism Renderer::SubmitMesh(dc.mesh, dc.Transform, overrideMaterial); } - if (outline) - { - Renderer::Submit([]() - { - glStencilFunc(GL_ALWAYS, 1, 0xff); - glStencilMask(0xff); - }); - } - - for (auto& dc : s_Data.SelectedMeshDrawList) - { - auto baseMaterial = dc.mesh->GetMaterial(); - baseMaterial->Set("u_ViewProjectionMatrix", viewProjection); - baseMaterial->Set("u_CameraPosition", cameraPosition); - - // Environment (TODO: don't do this per mesh) - baseMaterial->Set("u_EnvRadianceTex", s_Data.SceneData.SceneEnvironment.RadianceMap); - baseMaterial->Set("u_EnvIrradianceTex", s_Data.SceneData.SceneEnvironment.IrradianceMap); - baseMaterial->Set("u_BRDFLUTTexture", s_Data.BRDFLUT); - - // Set lights (TODO: move to light environment and don't do per mesh) - baseMaterial->Set("lights", s_Data.SceneData.ActiveLight); - - auto overrideMaterial = nullptr; // dc.Material; - Renderer::SubmitMesh(dc.mesh, dc.Transform, overrideMaterial); - } if (outline) { @@ -349,6 +351,47 @@ namespace Prism }); } + if (collider) + { + Renderer::Submit([]() + { + glStencilFunc(GL_NOTEQUAL, 1, 0xff); + glStencilMask(0); + + glLineWidth(1); + glEnable(GL_LINE_SMOOTH); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + glDisable(GL_DEPTH_TEST); + }); + + s_Data.ColliderMaterial->Set("u_ViewProjection", viewProjection); + for (auto& dc : s_Data.ColliderDrawList) + { + if (dc.mesh) + Renderer::SubmitMesh(dc.mesh, dc.Transform, s_Data.ColliderMaterial); + } + + Renderer::Submit([]() + { + glPointSize(1); + glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); + }); + + for (auto& dc : s_Data.ColliderDrawList) + { + if (dc.mesh) + Renderer::SubmitMesh(dc.mesh, dc.Transform, s_Data.ColliderMaterial); + } + + Renderer::Submit([]() + { + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glStencilMask(0xff); + glStencilFunc(GL_ALWAYS, 1, 0xff); + glEnable(GL_DEPTH_TEST); + }); + } + // Grid const auto option = GetOptions(); diff --git a/Prism/src/Prism/Renderer/SceneRenderer.h b/Prism/src/Prism/Renderer/SceneRenderer.h index d9ea37f..26bc4bd 100644 --- a/Prism/src/Prism/Renderer/SceneRenderer.h +++ b/Prism/src/Prism/Renderer/SceneRenderer.h @@ -7,6 +7,7 @@ #include "Mesh.h" #include "RenderPass.h" #include "Texture.h" +#include "Prism/Scene/Components.h" #include "Prism/Scene/Scene.h" @@ -37,6 +38,11 @@ namespace Prism static void SubmitMesh(const Ref& mesh, const glm::mat4& transform = glm::mat4(1.0f), const Ref& overrideMaterial = nullptr); static void SubmitSelectedMesh(const Ref& mesh, const glm::mat4& transform = glm::mat4(1.0f)); + static void SubmitColliderMesh(const BoxColliderComponent& component, const glm::mat4& parentTransform = glm::mat4(1.0f)); + static void SubmitColliderMesh(const SphereColliderComponent& component, const glm::mat4& parentTransform = glm::mat4(1.0f)); + static void SubmitColliderMesh(const CapsuleColliderComponent& component, const glm::mat4& parentTransform = glm::mat4(1.0f)); + static void SubmitColliderMesh(const MeshColliderComponent& component, const glm::mat4& parentTransform = glm::mat4(1.0f)); + static std::pair, Ref> CreateEnvironmentMap(const std::string& filepath); static Ref GetFinalRenderPass(); diff --git a/Prism/src/Prism/Scene/Components.h b/Prism/src/Prism/Scene/Components.h index 2ff10d7..a890aef 100644 --- a/Prism/src/Prism/Scene/Components.h +++ b/Prism/src/Prism/Scene/Components.h @@ -12,7 +12,6 @@ #include "glm/glm.hpp" #include "Prism/Core/Ref.h" #include "Prism/Core/UUID.h" -#include "Prism/Renderer/Camera.h" #include "Prism/Renderer/Mesh.h" namespace Prism @@ -141,9 +140,11 @@ namespace Prism struct SphereColliderComponent { - float Radius = 1.0f; + float Radius = 0.5f; + bool IsTrigger = false; - // TODO: Physics Material + // The mesh that will be drawn in the editor to show the collision bounds + Ref DebugMesh; SphereColliderComponent() = default; SphereColliderComponent(const SphereColliderComponent& other) = default; @@ -151,9 +152,10 @@ namespace Prism struct RigidBodyComponent { - enum class Type { Static, Dynamic, Kinematic }; + enum class Type { Static, Dynamic}; Type BodyType; float Mass = 1.0f; + bool IsKinematic = false; bool LockPositionX = false; bool LockPositionY = false; @@ -183,6 +185,10 @@ namespace Prism { glm::vec3 Size = { 1.0f, 1.0f, 1.0f }; glm::vec3 Offset = { 0.0f, 0.0f, 0.0f }; + bool IsTrigger = false; + + // The mesh that will be drawn in the editor to show the collision bounds + Ref DebugMesh; BoxColliderComponent() = default; BoxColliderComponent(const BoxColliderComponent& other) = default; @@ -192,6 +198,9 @@ namespace Prism { float Radius = 0.5f; float Height = 1.0f; + bool IsTrigger = false; + + Ref DebugMesh; CapsuleColliderComponent() = default; CapsuleColliderComponent(const CapsuleColliderComponent& other) = default; @@ -200,6 +209,8 @@ namespace Prism struct MeshColliderComponent { Ref CollisionMesh; + Ref ProcessedMesh; + bool IsTrigger = false; MeshColliderComponent() = default; MeshColliderComponent(const MeshColliderComponent& other) = default; diff --git a/Prism/src/Prism/Scene/Scene.cpp b/Prism/src/Prism/Scene/Scene.cpp index 3f9c42a..589f9fb 100644 --- a/Prism/src/Prism/Scene/Scene.cpp +++ b/Prism/src/Prism/Scene/Scene.cpp @@ -15,17 +15,14 @@ #include #include "Prism/Physics/Physics3D.h" +#define PX_PHYSX_STATIC_LIB +#include namespace Prism { - // TODO: THIS SHOULD MOVE TO PHYSICS FILE! std::unordered_map s_ActiveScenes; - static physx::PxDefaultErrorCallback s_PXErrorCallback; - static physx::PxDefaultAllocator s_PXAllocator; - static physx::PxFoundation* s_PXFoundation; - static uint32_t s_SceneIDCounter = 0; struct SceneComponent @@ -45,11 +42,6 @@ namespace Prism } }; - struct PhysXSceneComponent - { - // NOTE: PhysX does some internal ref counting, and thus doesn't allow unique_ptr - physx::PxScene* World; - }; void ProcessContactEvents(const b2WorldId worldId) { @@ -85,65 +77,6 @@ namespace Prism } } - class PhysXContactListener : public physx::PxSimulationEventCallback - { - public: - virtual void onConstraintBreak(physx::PxConstraintInfo* constraints, physx::PxU32 count) override - { - PX_UNUSED(constraints); - PX_UNUSED(count); - } - - virtual void onWake(physx::PxActor** actors, physx::PxU32 count) override - { - PX_UNUSED(actors); - PX_UNUSED(count); - } - - virtual void onSleep(physx::PxActor** actors, physx::PxU32 count) override - { - PX_UNUSED(actors); - PX_UNUSED(count); - } - - virtual void onContact(const physx::PxContactPairHeader& pairHeader, const physx::PxContactPair* pairs, physx::PxU32 nbPairs) override - { - Entity& a = *(Entity*)pairHeader.actors[0]->userData; - Entity& b = *(Entity*)pairHeader.actors[1]->userData; - - if (pairs->flags == physx::PxContactPairFlag::eACTOR_PAIR_HAS_FIRST_TOUCH) - { - if (a.HasComponent() && ScriptEngine::ModuleExists(a.GetComponent().ModuleName)) - ScriptEngine::OnCollisionBegin(a); - - if (b.HasComponent() && ScriptEngine::ModuleExists(b.GetComponent().ModuleName)) - ScriptEngine::OnCollisionBegin(b); - } - else if (pairs->flags == physx::PxContactPairFlag::eACTOR_PAIR_LOST_TOUCH) - { - if (a.HasComponent() && ScriptEngine::ModuleExists(a.GetComponent().ModuleName)) - ScriptEngine::OnCollisionEnd(a); - - if (b.HasComponent() && ScriptEngine::ModuleExists(b.GetComponent().ModuleName)) - ScriptEngine::OnCollisionEnd(b); - } - } - - virtual void onTrigger(physx::PxTriggerPair* pairs, physx::PxU32 count) override - { - PX_UNUSED(pairs); - PX_UNUSED(count); - } - - virtual void onAdvance(const physx::PxRigidBody* const* bodyBuffer, const physx::PxTransform* poseBuffer, const physx::PxU32 count) override - { - PX_UNUSED(bodyBuffer); - PX_UNUSED(poseBuffer); - PX_UNUSED(count); - } - }; - - static PhysXContactListener s_PhysXContactListener; void OnTransformConstruct(entt::registry& registry, entt::entity entity) @@ -189,8 +122,8 @@ namespace Prism return { filepath, radiance, irradiance }; } - Scene::Scene(const std::string& debugName) - : m_SceneID(++s_SceneIDCounter), m_DebugName(debugName) + Scene::Scene(const std::string& debugName, const bool isEditorScene) + : m_SceneID(++s_SceneIDCounter), m_DebugName(debugName) { m_Registry.on_construct().connect<&OnTransformConstruct>(); m_Registry.on_construct().connect<&OnScriptComponentConstruct>(); @@ -198,34 +131,22 @@ namespace Prism m_SceneEntity = m_Registry.create(); m_Registry.emplace(m_SceneEntity, m_SceneID); - // TODO: Obviously not necessary in all cases Box2DWorldComponent& b2World = m_Registry.emplace(m_SceneEntity, b2Vec2{ 0.0f, -9.8f }); s_ActiveScenes[m_SceneID] = this; - physx::PxSceneDesc sceneDesc = Physics3D::CreateSceneDesc(); - sceneDesc.gravity = physx::PxVec3(0.0f, -9.8f, 0.0f); - sceneDesc.simulationEventCallback = &s_PhysXContactListener; - - const PhysXSceneComponent& physxWorld = m_Registry.emplace(m_SceneEntity, Physics3D::CreateScene(sceneDesc)); - physx::PxPvdSceneClient* pvdClient = physxWorld.World->getScenePvdClient(); - if(pvdClient) + if (!isEditorScene) { - pvdClient->setScenePvdFlag(physx::PxPvdSceneFlag::eTRANSMIT_CONSTRAINTS, true); - pvdClient->setScenePvdFlag(physx::PxPvdSceneFlag::eTRANSMIT_CONTACTS, true); - pvdClient->setScenePvdFlag(physx::PxPvdSceneFlag::eTRANSMIT_SCENEQUERIES, true); - }else - { - PM_CORE_WARN("you are using pvd to debug: "); - PM_CORE_WARN("PvdSceneClient is null is pvd running or you are using release/profile PhysX?"); - PM_CORE_WARN("to using Pvd, should using debug/checked version to build!"); + SceneParams sceneDesc; + sceneDesc.Gravity = glm::vec3(0.0F, -9.81F, 0.0F); + Physics3D::CreateScene(sceneDesc); } - PM_CORE_ASSERT(physxWorld.World); Init(); } + Scene::~Scene() { m_Registry.on_destroy().disconnect(); @@ -243,24 +164,22 @@ namespace Prism void Scene::OnShutdown() { + /* auto b2WorldView = m_Registry.view(); b2DestroyWorld(m_Registry.get(m_SceneEntity).World); - - auto physxView = m_Registry.view(); - m_Registry.get(m_SceneEntity).World->release(); + */ } void Scene::OnUpdate(TimeStep ts) { // Update all entities { - auto view = m_Registry.view(); - for (auto entity : view) + const auto view = m_Registry.view(); + for (const auto entity : view) { - UUID entityID = m_Registry.get(entity).ID; Entity e = { entity, this }; if (ScriptEngine::ModuleExists(e.GetComponent().ModuleName)) - ScriptEngine::OnUpdateEntity(m_SceneID, entityID, ts); + ScriptEngine::OnUpdateEntity(e, ts); } } @@ -296,65 +215,7 @@ namespace Prism } } - // PhysX Physics - auto physxView = m_Registry.view(); - physx::PxScene* physxScene = m_Registry.get(physxView.front()).World; - - constexpr float stepSize = 0.016666660f; - physxScene->simulate(stepSize); - physxScene->fetchResults(true); - - { - auto view = m_Registry.view(); - for (auto entity : view) - { - Entity e = { entity, this }; - auto& transform = e.Transform(); - RigidBodyComponent& rb = e.GetComponent(); - physx::PxRigidActor* actor = static_cast(rb.RuntimeActor); - const auto& position = actor->getGlobalPose().p; - const physx::PxQuat& physicsBodyRotation = actor->getGlobalPose().q; - - auto [translation, rotationQuat, scale] = GetTransformDecomposition(transform); - - if (rb.BodyType == RigidBodyComponent::Type::Dynamic) - { - /* - // If the rigidbody is dynamic, the position of the entity is determined by the rigidbody - // TODO: Get rotation from RigidActor - float xAngle, yAngle, zAngle; - physx::PxVec3 axis; - physicsBodyRotation.toRadiansAndUnitAxis(xAngle, axis); - physicsBodyRotation.toRadiansAndUnitAxis(yAngle, axis); - physicsBodyRotation.toRadiansAndUnitAxis(zAngle, axis); - - transform = glm::translate(glm::mat4(1.0f), { position.x, position.y, position.z }) * - glm::toMat4(glm::quat({ xAngle, yAngle, zAngle })) * - glm::scale(glm::mat4(1.0f), scale); - */ - - // 获取物理引擎的位置和旋转 - physx::PxTransform globalPose = actor->getGlobalPose(); - const physx::PxVec3& pos = globalPose.p; - const physx::PxQuat& physicsQuat = globalPose.q; - - glm::quat glmQuat{physicsQuat.w, physicsQuat.x, physicsQuat.y, physicsQuat.z}; - - // 使用转换后的四元数创建变换矩阵 - transform = glm::translate(glm::mat4(1.0f), - glm::vec3(pos.x, pos.y, pos.z)) * - glm::toMat4(glmQuat) * - glm::scale(glm::mat4(1.0f), scale); - - } - else if (rb.BodyType == RigidBodyComponent::Type::Static) - { - // If the rigidbody is static, make sure the actor is at the entitys position - actor->setGlobalPose(Physics3D::CreatePose(transform)); - } - } - } - + Physics3D::Simulate(ts); } void Scene::OnRenderRuntime(TimeStep ts) @@ -425,13 +286,60 @@ namespace Prism meshComponent.Mesh->OnUpdate(ts); // TODO: Should we render (logically) - - if (m_SelectedEntity == entity) - SceneRenderer::SubmitSelectedMesh(meshComponent, transformComponent); - else - SceneRenderer::SubmitMesh(meshComponent, transformComponent); + SceneRenderer::SubmitMesh(meshComponent, transformComponent); } } + + { + auto view = m_Registry.view(); + for (auto entity : view) + { + Entity e = { entity, this }; + auto& collider = e.GetComponent(); + + if (m_SelectedEntity == entity) + SceneRenderer::SubmitColliderMesh(collider, e.GetComponent()); + } + } + + { + const auto view = m_Registry.view(); + for (auto entity : view) + { + Entity e = { entity, this }; + auto& collider = e.GetComponent(); + + if (m_SelectedEntity == entity) + SceneRenderer::SubmitColliderMesh(collider, e.GetComponent()); + } + } + + { + const auto view = m_Registry.view(); + for (auto entity : view) + { + Entity e = { entity, this }; + auto& collider = e.GetComponent(); + + if (m_SelectedEntity == entity) + SceneRenderer::SubmitColliderMesh(collider, e.GetComponent()); + } + } + + { + const auto view = m_Registry.view(); + for (auto entity : view) + { + Entity e = { entity, this }; + auto& collider = e.GetComponent(); + + if (m_SelectedEntity == entity) + { + SceneRenderer::SubmitColliderMesh(collider, e.GetComponent()); + } + } + } + SceneRenderer::EndScene(); ///////////////////////////////////////////////////////////////////// @@ -568,159 +476,21 @@ namespace Prism } } - - auto physxView = m_Registry.view(); - physx::PxScene* physxWorld = m_Registry.get(physxView.front()).World; - - { - auto view = m_Registry.view(); - m_Physics3DBodyEntityBuffer = new Entity[view.size()]; - uint32_t physicsBodyEntityBufferIndex = 0; - - for (auto entity : view) - { - Entity e = { entity, this }; - UUID entityID = e.GetComponent().ID; - auto& transform = e.Transform(); - auto& rigidbody = m_Registry.get(entity); - - physx::PxRigidActor* actor = Physics3D::CreateAndAddActor(physxWorld, rigidbody, transform); - PM_CORE_ASSERT(actor); - - Entity* entityStorage = &m_Physics3DBodyEntityBuffer[physicsBodyEntityBufferIndex++]; - *entityStorage = e; - actor->userData = (void*)entityStorage; - - rigidbody.RuntimeActor = actor; - } - } - - { - auto view = m_Registry.view(); - for (auto entity : view) - { - Entity e = { entity, this }; - auto& transform = e.Transform(); - - auto& boxCollider = m_Registry.get(entity); - if (e.HasComponent()) - { - auto& rigidBody = e.GetComponent(); - auto& physicsMaterial = e.GetComponent(); - PM_CORE_ASSERT(rigidBody.RuntimeActor); - physx::PxRigidActor* actor = static_cast(rigidBody.RuntimeActor); - - physx::PxBoxGeometry boxGeometry = physx::PxBoxGeometry(boxCollider.Size.x / 2.0F, boxCollider.Size.y / 2.0F, boxCollider.Size.z / 2.0F); - physx::PxMaterial* material = Physics3D::CreateMaterial(physicsMaterial.StaticFriction, physicsMaterial.DynamicFriction, physicsMaterial.Bounciness); - physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(*actor, boxGeometry, *material); - shape->setLocalPose(Physics3D::CreatePose(glm::translate(glm::mat4(1.0F), boxCollider.Offset))); - } - } - } - - { - auto view = m_Registry.view(); - for (auto entity : view) - { - Entity e = { entity, this }; - auto& transform = e.Transform(); - - auto& sphereCollider = m_Registry.get(entity); - if (e.HasComponent()) - { - auto& rigidBody = e.GetComponent(); - auto& physicsMaterial = e.GetComponent(); - PM_CORE_ASSERT(rigidBody.RuntimeActor); - physx::PxRigidActor* actor = static_cast(rigidBody.RuntimeActor); - physx::PxSphereGeometry sphereGeometry = physx::PxSphereGeometry(sphereCollider.Radius); - physx::PxMaterial* material = Physics3D::CreateMaterial(physicsMaterial.StaticFriction, physicsMaterial.DynamicFriction, physicsMaterial.Bounciness); - physx::PxRigidActorExt::createExclusiveShape(*actor, sphereGeometry, *material); - - physx::PxRigidDynamic* rigidBodyActor = actor->is(); - - if (rigidBodyActor) - { - rigidBodyActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X, true); - rigidBodyActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y, true); - rigidBodyActor->setRigidDynamicLockFlag(physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z, true); - } - } - } - } - - { - auto view = m_Registry.view(); - for (auto entity : view) - { - Entity e = { entity, this }; - auto& transform = e.Transform(); - - auto& capsuleCollider = m_Registry.get(entity); - if (e.HasComponent()) - { - auto& rigidBody = e.GetComponent(); - auto& physicsMaterial = e.GetComponent(); - PM_CORE_ASSERT(rigidBody.RuntimeActor); - physx::PxRigidActor* actor = static_cast(rigidBody.RuntimeActor); - physx::PxCapsuleGeometry capsuleGeometry = physx::PxCapsuleGeometry(capsuleCollider.Radius, capsuleCollider.Height / 2.0F); - physx::PxMaterial* material = Physics3D::CreateMaterial(physicsMaterial.StaticFriction, physicsMaterial.DynamicFriction, physicsMaterial.Bounciness); - physx::PxShape* shape = physx::PxRigidActorExt::createExclusiveShape(*actor, capsuleGeometry, *material); - - // Make sure that the capsule is facing up (+Y) - shape->setLocalPose(physx::PxTransform(physx::PxQuat(physx::PxHalfPi, physx::PxVec3(0, 0, 1)))); - } - } - } - - { - auto meshView = m_Registry.view(); - for (auto entity : meshView) - { - Entity e = { entity, this }; - auto& transform = e.Transform(); - - auto& meshCollider = m_Registry.get(entity); - if (e.HasComponent()) - { - auto& rigidBody = e.GetComponent(); - auto& physicsMaterial = e.GetComponent(); - PM_CORE_ASSERT(rigidBody.RuntimeActor); - physx::PxRigidActor* actor = static_cast(rigidBody.RuntimeActor); - - physx::PxConvexMesh* triangleMesh = Physics3D::CreateMeshCollider(meshCollider); - PM_CORE_ASSERT(triangleMesh); - - physx::PxConvexMeshGeometry triangleGeometry = physx::PxConvexMeshGeometry(triangleMesh); - physx::PxMaterial* material = Physics3D::CreateMaterial(physicsMaterial.StaticFriction, physicsMaterial.DynamicFriction, physicsMaterial.Bounciness); - physx::PxRigidActorExt::createExclusiveShape(*actor, triangleGeometry, *material); - } - } - - // Setup Collision Filters - auto rbView = m_Registry.view(); - for (auto entity : rbView) - { - Entity e = { entity, this }; - auto& rigidBody = e.GetComponent(); - PM_CORE_ASSERT(rigidBody.RuntimeActor); - physx::PxRigidActor* actor = static_cast(rigidBody.RuntimeActor); - - if (rigidBody.BodyType == RigidBodyComponent::Type::Static) - Physics3D::SetCollisionFilters(actor, (uint32_t)FilterGroup::Static, (uint32_t)FilterGroup::All); - else if (rigidBody.BodyType == RigidBodyComponent::Type::Dynamic) - Physics3D::SetCollisionFilters(actor, (uint32_t)FilterGroup::Dynamic, (uint32_t)FilterGroup::All); - } - } - + { + auto view = m_Registry.view(); + for (auto entity : view) + { + Entity e = { entity, this }; + Physics3D::CreateActor(e, (int)view.size()); + } + } m_IsPlaying = true; } void Scene::OnRuntimeStop() { - auto physxView = m_Registry.view(); - m_Registry.get(m_SceneEntity).World->release(); - + Physics3D::DestroyScene(); delete[] m_Physics3DBodyEntityBuffer; delete[] m_Physics2DBodyEntityBuffer; @@ -836,6 +606,7 @@ namespace Prism CopyComponentIfExists(newEntity.m_EntityHandle, entity.m_EntityHandle, m_Registry); CopyComponentIfExists(newEntity.m_EntityHandle, entity.m_EntityHandle, m_Registry); CopyComponentIfExists(newEntity.m_EntityHandle, entity.m_EntityHandle, m_Registry); + CopyComponentIfExists(newEntity.m_EntityHandle, entity.m_EntityHandle, m_Registry); CopyComponentIfExists(newEntity.m_EntityHandle, entity.m_EntityHandle, m_Registry); } @@ -884,6 +655,7 @@ namespace Prism CopyComponent(target->m_Registry, m_Registry, enttMap); CopyComponent(target->m_Registry, m_Registry, enttMap); CopyComponent(target->m_Registry, m_Registry, enttMap); + CopyComponent(target->m_Registry, m_Registry, enttMap); CopyComponent(target->m_Registry, m_Registry, enttMap); const auto& entityInstanceMap = ScriptEngine::GetEntityInstanceMap(); diff --git a/Prism/src/Prism/Scene/Scene.h b/Prism/src/Prism/Scene/Scene.h index 8fa00e6..bfbad15 100644 --- a/Prism/src/Prism/Scene/Scene.h +++ b/Prism/src/Prism/Scene/Scene.h @@ -40,7 +40,7 @@ namespace Prism class PRISM_API Scene : public RefCounted { public: - Scene(const std::string& debugName = "Scene"); + Scene(const std::string& debugName = "Scene", bool isEditorScene = false); ~Scene(); void Init(); diff --git a/Prism/src/Prism/Scene/SceneCamera.h b/Prism/src/Prism/Scene/SceneCamera.h index a08959b..50e5a7b 100644 --- a/Prism/src/Prism/Scene/SceneCamera.h +++ b/Prism/src/Prism/Scene/SceneCamera.h @@ -9,7 +9,7 @@ namespace Prism { - class SceneCamera : public Camera + class PRISM_API SceneCamera : public Camera { public: enum class ProjectionType { Perspective = 0, Orthographic = 1 }; diff --git a/Prism/src/Prism/Scene/SceneSerializer.cpp b/Prism/src/Prism/Scene/SceneSerializer.cpp index 7a88d2d..6edc4ca 100644 --- a/Prism/src/Prism/Scene/SceneSerializer.cpp +++ b/Prism/src/Prism/Scene/SceneSerializer.cpp @@ -20,6 +20,9 @@ #include #include +#include "Prism/Physics/PxPhysicsWrappers.h" +#include "Prism/Renderer/Meshfactory.h" + namespace YAML { @@ -195,7 +198,7 @@ namespace Prism auto& transform = entity.GetComponent().Transform; auto[pos, rot, scale] = GetTransformDecomposition(transform); out << YAML::Key << "Position" << YAML::Value << pos; - out << YAML::Key << "Rotation" << YAML::Value << rot; + out << YAML::Key << "Rotation" << YAML::Value << rot; // Quat rotation out << YAML::Key << "Scale" << YAML::Value << scale; out << YAML::EndMap; // TransformComponent @@ -337,6 +340,7 @@ namespace Prism auto& rigidbodyComponent = entity.GetComponent(); out << YAML::Key << "BodyType" << YAML::Value << (int)rigidbodyComponent.BodyType; out << YAML::Key << "Mass" << YAML::Value << rigidbodyComponent.Mass; + out << YAML::Key << "IsKinematic" << YAML::Value << rigidbodyComponent.IsKinematic; out << YAML::Key << "Constraints"; out << YAML::BeginMap; // Constraints @@ -358,7 +362,7 @@ namespace Prism out << YAML::Key << "PhysicsMaterialComponent"; out << YAML::BeginMap; // PhysicsMaterialComponent - auto& physicsMaterial = entity.GetComponent(); + const auto& physicsMaterial = entity.GetComponent(); out << YAML::Key << "StaticFriction" << YAML::Value << physicsMaterial.StaticFriction; out << YAML::Key << "DynamicFriction" << YAML::Value << physicsMaterial.DynamicFriction; out << YAML::Key << "Bounciness" << YAML::Value << physicsMaterial.Bounciness; @@ -371,9 +375,10 @@ namespace Prism out << YAML::Key << "BoxColliderComponent"; out << YAML::BeginMap; // BoxColliderComponent - auto& boxColliderComponent = entity.GetComponent(); + const auto& boxColliderComponent = entity.GetComponent(); out << YAML::Key << "Offset" << YAML::Value << boxColliderComponent.Offset; out << YAML::Key << "Size" << YAML::Value << boxColliderComponent.Size; + out << YAML::Key << "IsTrigger" << YAML::Value << boxColliderComponent.IsTrigger; out << YAML::EndMap; // BoxColliderComponent } @@ -383,19 +388,34 @@ namespace Prism out << YAML::Key << "SphereColliderComponent"; out << YAML::BeginMap; // SphereColliderComponent - auto& sphereColliderComponent = entity.GetComponent(); + const auto& sphereColliderComponent = entity.GetComponent(); out << YAML::Key << "Radius" << YAML::Value << sphereColliderComponent.Radius; + out << YAML::Key << "IsTrigger" << YAML::Value << sphereColliderComponent.IsTrigger; out << YAML::EndMap; // SphereColliderComponent } + if (entity.HasComponent()) + { + out << YAML::Key << "CapsuleColliderComponent"; + out << YAML::BeginMap; // CapsuleColliderComponent + + const auto& capsuleColliderComponent = entity.GetComponent(); + out << YAML::Key << "Radius" << YAML::Value << capsuleColliderComponent.Radius; + out << YAML::Key << "Height" << YAML::Value << capsuleColliderComponent.Height; + out << YAML::Key << "IsTrigger" << YAML::Value << capsuleColliderComponent.IsTrigger; + + out << YAML::EndMap; // CapsuleColliderComponent + } + if (entity.HasComponent()) { out << YAML::Key << "MeshColliderComponent"; out << YAML::BeginMap; // MeshColliderComponent - auto mesh = entity.GetComponent().CollisionMesh; - out << YAML::Key << "AssetPath" << YAML::Value << mesh->GetFilePath(); + auto meshColliderComponent = entity.GetComponent(); + out << YAML::Key << "AssetPath" << YAML::Value << meshColliderComponent.CollisionMesh->GetFilePath(); + out << YAML::Key << "IsTrigger" << YAML::Value << meshColliderComponent.IsTrigger; out << YAML::EndMap; // MeshColliderComponent } @@ -527,15 +547,17 @@ namespace Prism { for (auto field : storedFields) { - std::string name = field["Name"].as(); - FieldType type = (FieldType)field["Type"].as(); + auto name = field["Name"].as(); + auto type = (FieldType)field["Type"].as(); EntityInstanceData& data = ScriptEngine::GetEntityInstanceData(m_Scene->GetUUID(), uuid); auto& moduleFieldMap = data.ModuleFieldMap; auto& publicFields = moduleFieldMap[moduleName]; if (publicFields.find(name) == publicFields.end()) { - PublicField pf = { name, type }; - publicFields.emplace(name, std::move(pf)); + // PublicField pf = { name, type }; + // publicFields.emplace(name, std::move(pf)); + PM_CORE_WARN("Script field '{0}' not found in current Script file! ignore this.", name); + continue; } auto dataNode = field["Data"]; switch (type) @@ -639,13 +661,15 @@ namespace Prism auto& component = deserializedEntity.AddComponent(); component.BodyType = (RigidBodyComponent::Type)rigidBodyComponent["BodyType"].as(); component.Mass = rigidBodyComponent["Mass"].as(); + component.IsKinematic = rigidBodyComponent["IsKinematic"] ? rigidBodyComponent["IsKinematic"].as() : false; + + component.LockPositionX = rigidBodyComponent["Constraints"]["LockPositionX"].as(); + component.LockPositionY = rigidBodyComponent["Constraints"]["LockPositionY"].as(); + component.LockPositionZ = rigidBodyComponent["Constraints"]["LockPositionZ"].as(); + component.LockRotationX = rigidBodyComponent["Constraints"]["LockRotationX"].as(); + component.LockRotationY = rigidBodyComponent["Constraints"]["LockRotationY"].as(); + component.LockRotationZ = rigidBodyComponent["Constraints"]["LockRotationZ"].as(); - component.LockPositionX = rigidBodyComponent["LockPositionX"] ? rigidBodyComponent["LockPositionX"].as() : false; - component.LockPositionY = rigidBodyComponent["LockPositionY"] ? rigidBodyComponent["LockPositionY"].as() : false; - component.LockPositionZ = rigidBodyComponent["LockPositionZ"] ? rigidBodyComponent["LockPositionZ"].as() : false; - component.LockRotationX = rigidBodyComponent["LockRotationX"] ? rigidBodyComponent["LockRotationX"].as() : false; - component.LockRotationY = rigidBodyComponent["LockRotationY"] ? rigidBodyComponent["LockRotationY"].as() : false; - component.LockRotationZ = rigidBodyComponent["LockRotationZ"] ? rigidBodyComponent["LockRotationZ"].as() : false; } if (auto physicsMaterialComponent = entity["PhysicsMaterialComponent"]) @@ -661,18 +685,33 @@ namespace Prism auto& component = deserializedEntity.AddComponent(); component.Offset = boxColliderComponent["Offset"].as(); component.Size = boxColliderComponent["Size"].as(); + component.IsTrigger = boxColliderComponent["IsTrigger"] ? boxColliderComponent["IsTrigger"].as() : false; + component.DebugMesh = MeshFactory::CreateBox(component.Size); } if (auto sphereColliderComponent = entity["SphereColliderComponent"]) { auto& component = deserializedEntity.AddComponent(); component.Radius = sphereColliderComponent["Radius"].as(); + component.IsTrigger = sphereColliderComponent["IsTrigger"] ? sphereColliderComponent["IsTrigger"].as() : false; + component.DebugMesh = MeshFactory::CreateSphere(component.Radius); + } + + if (auto capsuleColliderComponent = entity["CapsuleColliderComponent"]) + { + auto& component = deserializedEntity.AddComponent(); + component.Radius = capsuleColliderComponent["Radius"].as(); + component.Height = capsuleColliderComponent["Height"].as(); + component.IsTrigger = capsuleColliderComponent["IsTrigger"] ? capsuleColliderComponent["IsTrigger"].as() : false; + component.DebugMesh = MeshFactory::CreateCapsule(component.Radius, component.Height); } if (auto meshColliderComponent = entity["MeshColliderComponent"]) { auto meshPath = meshColliderComponent["AssetPath"].as(); - deserializedEntity.AddComponent(Ref::Create(meshPath)); + auto& component = deserializedEntity.AddComponent(Ref::Create(meshPath)); + component.IsTrigger = meshColliderComponent["IsTrigger"] ? meshColliderComponent["IsTrigger"].as() : false; + PxPhysicsWrappers::CreateConvexMesh(component); PM_CORE_INFO(" Mesh Collider Asset Path: {0}", meshPath); } diff --git a/Prism/src/Prism/Script/ScriptEngine.cpp b/Prism/src/Prism/Script/ScriptEngine.cpp index 68b0eac..87ca3fa 100644 --- a/Prism/src/Prism/Script/ScriptEngine.cpp +++ b/Prism/src/Prism/Script/ScriptEngine.cpp @@ -45,6 +45,7 @@ namespace Prism std::string NamespaceName; MonoClass* Class = nullptr; + MonoMethod* Constructor = nullptr; MonoMethod* OnCreateMethod = nullptr; MonoMethod* OnDestroyMethod = nullptr; MonoMethod* OnUpdateMethod = nullptr; @@ -52,17 +53,22 @@ namespace Prism // Physics MonoMethod* OnCollisionBeginMethod = nullptr; MonoMethod* OnCollisionEndMethod = nullptr; + MonoMethod* OnTriggerBeginMethod = nullptr; + MonoMethod* OnTriggerEndMethod = nullptr; MonoMethod* OnCollision2DBeginMethod = nullptr; MonoMethod* OnCollision2DEndMethod = nullptr; void InitClassMethods(MonoImage* image) { + Constructor = GetMethod(s_CoreAssemblyImage, "Prism.Entity:.ctor(ulong)"); OnCreateMethod = GetMethod(image, FullName + ":OnCreate()"); OnUpdateMethod = GetMethod(image, FullName + ":OnUpdate(single)"); // Physics (Entity class) OnCollision2DBeginMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnCollision2DBegin(single)"); OnCollision2DEndMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnCollision2DEnd(single)"); + OnTriggerBeginMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnTriggerBegin(single)"); + OnTriggerEndMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnTriggerEnd(single)"); OnCollisionBeginMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnCollisionBegin(single)"); OnCollisionEndMethod = GetMethod(s_CoreAssemblyImage, "Prism.Entity:OnCollisionEnd(single)"); @@ -415,7 +421,7 @@ namespace Prism return s_SceneContext; } - void ScriptEngine::CopyEntityScriptData(UUID dst, UUID src) + void ScriptEngine::CopyEntityScriptData(const UUID& dst, const UUID& src) { PM_CORE_ASSERT(s_EntityInstanceMap.find(dst) != s_EntityInstanceMap.end()); PM_CORE_ASSERT(s_EntityInstanceMap.find(src) != s_EntityInstanceMap.end()); @@ -442,19 +448,14 @@ namespace Prism void ScriptEngine::OnCreateEntity(Entity entity) { - OnCreateEntity(entity.m_Scene->GetUUID(), entity.GetComponent().ID); - } - - void ScriptEngine::OnCreateEntity(UUID sceneID, UUID entityID) - { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnCreateMethod) CallMethod(entityInstance.GetInstance(), entityInstance.ScriptClass->OnCreateMethod); } - void ScriptEngine::OnUpdateEntity(UUID sceneID, UUID entityID, TimeStep ts) + void ScriptEngine::OnUpdateEntity(Entity entity, TimeStep ts) { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData( entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnUpdateMethod) { void* args[] = { &ts }; @@ -462,14 +463,10 @@ namespace Prism } } + void ScriptEngine::OnCollision2DBegin(Entity entity) { - OnCollision2DBegin(entity.m_Scene->GetUUID(), entity.GetComponent().ID); - } - - void ScriptEngine::OnCollision2DBegin(const UUID &sceneID, const UUID &entityID) - { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnCollision2DBeginMethod) { float value = 5.0f; @@ -481,12 +478,7 @@ namespace Prism void ScriptEngine::OnCollision2DEnd(Entity entity) { - OnCollision2DEnd(entity.m_Scene->GetUUID(), entity.GetComponent().ID); - } - - void ScriptEngine::OnCollision2DEnd(const UUID &sceneID, const UUID &entityID) - { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnCollision2DEndMethod) { float value = 5.0f; @@ -498,12 +490,7 @@ namespace Prism void ScriptEngine::OnCollisionBegin(Entity entity) { - OnCollisionBegin(entity.m_Scene->GetUUID(), entity.GetComponent().ID); - } - - void ScriptEngine::OnCollisionBegin(const UUID& sceneID, const UUID& entityID) - { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnCollisionBeginMethod) { float value = 5.0f; @@ -514,12 +501,7 @@ namespace Prism void ScriptEngine::OnCollisionEnd(Entity entity) { - OnCollisionEnd(entity.m_Scene->GetUUID(), entity.GetComponent().ID); - } - - void ScriptEngine::OnCollisionEnd(const UUID& sceneID, const UUID& entityID) - { - EntityInstance& entityInstance = GetEntityInstanceData(sceneID, entityID).Instance; + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; if (entityInstance.ScriptClass->OnCollisionEndMethod) { float value = 5.0f; @@ -528,6 +510,33 @@ namespace Prism } } + void ScriptEngine::OnTriggerBegin(Entity entity) + { + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; + if (entityInstance.ScriptClass->OnTriggerBeginMethod) + { + float value = 5.0f; + void* args[] = { &value }; + CallMethod(entityInstance.GetInstance(), entityInstance.ScriptClass->OnTriggerBeginMethod, args); + } + } + + void ScriptEngine::OnTriggerEnd(Entity entity) + { + EntityInstance& entityInstance = GetEntityInstanceData(entity.GetSceneUUID(), entity.GetUUID()).Instance; + if (entityInstance.ScriptClass->OnTriggerEndMethod) + { + float value = 5.0f; + void* args[] = { &value }; + CallMethod(entityInstance.GetInstance(), entityInstance.ScriptClass->OnTriggerEndMethod, args); + } + } + + bool ScriptEngine::IsEntityModuleValid(Entity entity) + { + return entity.HasComponent() && ModuleExists(entity.GetComponent().ModuleName); + } + void ScriptEngine::OnScriptComponentDestroyed(const UUID &sceneID, const UUID &entityID) { PM_CORE_ASSERT(s_EntityInstanceMap.find(sceneID) != s_EntityInstanceMap.end()); @@ -646,11 +655,14 @@ namespace Prism PM_CORE_ASSERT(entityInstance.ScriptClass); entityInstance.Handle = Instantiate(*entityInstance.ScriptClass); + /* MonoProperty* entityIDPropery = mono_class_get_property_from_name(entityInstance.ScriptClass->Class, "ID"); mono_property_get_get_method(entityIDPropery); MonoMethod* entityIDSetMethod = mono_property_get_set_method(entityIDPropery); + */ + void* param[] = { &id }; - CallMethod(entityInstance.GetInstance(), entityIDSetMethod, param); + CallMethod(entityInstance.GetInstance(), entityInstance.ScriptClass->Constructor, param); // Set all public fields to appropriate values ScriptModuleFieldMap& moduleFieldMap = entityInstanceData.ModuleFieldMap; diff --git a/Prism/src/Prism/Script/ScriptEngine.h b/Prism/src/Prism/Script/ScriptEngine.h index 64e568d..8ac10df 100644 --- a/Prism/src/Prism/Script/ScriptEngine.h +++ b/Prism/src/Prism/Script/ScriptEngine.h @@ -112,21 +112,21 @@ namespace Prism static void SetSceneContext(const Ref& scene); static const Ref& GetCurrentSceneContext(); - static void CopyEntityScriptData(UUID dst, UUID src); + static void CopyEntityScriptData(const UUID& dst, const UUID& src); static void OnCreateEntity(Entity entity); - static void OnCreateEntity(UUID sceneID, UUID entityID); - static void OnUpdateEntity(UUID sceneID, UUID entityID, TimeStep ts); + static void OnUpdateEntity(Entity entity, TimeStep ts); static void OnCollision2DBegin(Entity entity); - static void OnCollision2DBegin(const UUID &sceneID, const UUID &entityID); static void OnCollision2DEnd(Entity entity); - static void OnCollision2DEnd(const UUID &sceneID, const UUID &entityID); static void OnCollisionBegin(Entity entity); - static void OnCollisionBegin(const UUID& sceneID, const UUID& entityID); static void OnCollisionEnd(Entity entity); - static void OnCollisionEnd(const UUID& sceneID, const UUID& entityID); + + static void OnTriggerBegin(Entity entityID); + static void OnTriggerEnd(Entity entityID); + + static bool IsEntityModuleValid(Entity entity); static void OnScriptComponentDestroyed(const UUID &sceneID, const UUID &entityID); diff --git a/Prism/src/Prism/Script/ScriptEngineRegistry.cpp b/Prism/src/Prism/Script/ScriptEngineRegistry.cpp index 0bbd233..8a1baf5 100644 --- a/Prism/src/Prism/Script/ScriptEngineRegistry.cpp +++ b/Prism/src/Prism/Script/ScriptEngineRegistry.cpp @@ -53,9 +53,20 @@ namespace Prism mono_add_internal_call("Prism.Entity::GetTransform_Native",(const void*)Prism::Script::Prism_Entity_GetTransform); mono_add_internal_call("Prism.Entity::SetTransform_Native",(const void*)Prism::Script::Prism_Entity_SetTransform); + mono_add_internal_call("Prism.TransformComponent::GetRelativeDirection_Native", (const void*)Prism::Script::Prism_TransformComponent_GetRelativeDirection); + + + mono_add_internal_call("Prism.TransformComponent::GetTransform_Native", (const void*)Prism::Script::Prism_Entity_GetTransform); + mono_add_internal_call("Prism.TransformComponent::SetTransform_Native", (const void*)Prism::Script::Prism_Entity_SetTransform); + mono_add_internal_call("Prism.TransformComponent::GetRotation_Native", (const void*)Prism::Script::Prism_TransformComponent_GetRotation); + mono_add_internal_call("Prism.TransformComponent::SetRotation_Native", (const void*)Prism::Script::Prism_TransformComponent_SetRotation); + + /* mono_add_internal_call("Prism.Entity::GetForwardDirection_Native", Prism::Script::Prism_Entity_GetForwardDirection); mono_add_internal_call("Prism.Entity::GetRightDirection_Native", Prism::Script::Prism_Entity_GetRightDirection); mono_add_internal_call("Prism.Entity::GetUpDirection_Native", Prism::Script::Prism_Entity_GetUpDirection); + */ + mono_add_internal_call("Prism.Entity::CreateComponent_Native",(const void*)Prism::Script::Prism_Entity_CreateComponent); mono_add_internal_call("Prism.Entity::HasComponent_Native",(const void*)Prism::Script::Prism_Entity_HasComponent); @@ -64,21 +75,30 @@ namespace Prism mono_add_internal_call("Prism.MeshComponent::GetMesh_Native",(const void*)Prism::Script::Prism_MeshComponent_GetMesh); mono_add_internal_call("Prism.MeshComponent::SetMesh_Native",(const void*)Prism::Script::Prism_MeshComponent_SetMesh); + // Input mono_add_internal_call("Prism.Input::IsKeyPressed_Native", (const void*)Prism::Script::Prism_Input_IsKeyPressed); + mono_add_internal_call("Prism.Input::GetMousePosition_Native", (const void*)Prism::Script::Prism_Input_GetMousePosition); + mono_add_internal_call("Prism.Input::SetCursorMode_Native", (const void*)Prism::Script::Prism_Input_SetCursorMode); + mono_add_internal_call("Prism.Input::GetCursorMode_Native", (const void*)Prism::Script::Prism_Input_GetCursorMode); + // 2D Physic mono_add_internal_call("Prism.RigidBody2DComponent::ApplyLinearImpulse_Native", (const void*)Prism::Script::Prism_RigidBody2DComponent_ApplyLinearImpulse); mono_add_internal_call("Prism.RigidBody2DComponent::GetLinearVelocity_Native", (const void *)Prism::Script::Prism_RigidBody2DComponent_GetLinearVelocity); mono_add_internal_call("Prism.RigidBody2DComponent::SetLinearVelocity_Native", (const void *)Prism::Script::Prism_RigidBody2DComponent_SetLinearVelocity); + // Renderer + // Texture2D mono_add_internal_call("Prism.Texture2D::Constructor_Native", (const void*)Prism::Script::Prism_Texture2D_Constructor); mono_add_internal_call("Prism.Texture2D::Destructor_Native", (const void*)Prism::Script::Prism_Texture2D_Destructor); mono_add_internal_call("Prism.Texture2D::SetData_Native", (const void*)Prism::Script::Prism_Texture2D_SetData); - mono_add_internal_call("Prism.RigidBodyComponent::AddForce_Native", Prism::Script::Prism_RigidBodyComponent_AddForce); - mono_add_internal_call("Prism.RigidBodyComponent::AddTorque_Native", Prism::Script::Prism_RigidBodyComponent_AddTorque); - mono_add_internal_call("Prism.RigidBodyComponent::GetLinearVelocity_Native", Prism::Script::Prism_RigidBodyComponent_GetLinearVelocity); - mono_add_internal_call("Prism.RigidBodyComponent::SetLinearVelocity_Native", Prism::Script::Prism_RigidBodyComponent_SetLinearVelocity); + mono_add_internal_call("Prism.RigidBodyComponent::AddForce_Native", (const void*)Prism::Script::Prism_RigidBodyComponent_AddForce); + mono_add_internal_call("Prism.RigidBodyComponent::AddTorque_Native", (const void*)Prism::Script::Prism_RigidBodyComponent_AddTorque); + mono_add_internal_call("Prism.RigidBodyComponent::GetLinearVelocity_Native", (const void*)Prism::Script::Prism_RigidBodyComponent_GetLinearVelocity); + mono_add_internal_call("Prism.RigidBodyComponent::SetLinearVelocity_Native", (const void*)Prism::Script::Prism_RigidBodyComponent_SetLinearVelocity); + mono_add_internal_call("Prism.RigidBodyComponent::Rotate_Native", (const void*)Prism::Script::Prism_RigidBodyComponent_Rotate); + // Material mono_add_internal_call("Prism.Material::Destructor_Native", (const void*)Prism::Script::Prism_Material_Destructor); mono_add_internal_call("Prism.Material::SetFloat_Native", (const void*)Prism::Script::Prism_Material_SetFloat); mono_add_internal_call("Prism.Material::SetTexture_Native", (const void*)Prism::Script::Prism_Material_SetTexture); diff --git a/Prism/src/Prism/Script/ScriptWarppers.cpp b/Prism/src/Prism/Script/ScriptWarppers.cpp index f270e80..9b8296a 100644 --- a/Prism/src/Prism/Script/ScriptWarppers.cpp +++ b/Prism/src/Prism/Script/ScriptWarppers.cpp @@ -21,6 +21,7 @@ #include "PxRigidActor.h" #include "PxRigidDynamic.h" #include "Prism/Physics/Physics3D.h" +#include "Prism/Physics/PhysicsUtils.h" namespace Prism { extern std::unordered_map> s_HasComponentFuncs; @@ -70,6 +71,22 @@ namespace Prism { namespace Script { return Input::IsKeyPressed(key); } + void Prism_Input_GetMousePosition(glm::vec2* outPosition) + { + auto [x, y] = Input::GetMousePosition(); + *outPosition = { x, y }; + } + + void Prism_Input_SetCursorMode(const CursorMode mode) + { + Input::SetCursorMode(mode); + } + + CursorMode Prism_Input_GetCursorMode() + { + return Input::GetCursorMode(); + } + //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// @@ -99,6 +116,8 @@ namespace Prism { namespace Script { auto& transformComponent = entity.GetComponent(); memcpy(glm::value_ptr(transformComponent.Transform), inTransform, sizeof(glm::mat4)); } + + /* void Prism_Entity_GetForwardDirection(const uint64_t entityID, glm::vec3* outForward) { Ref scene = ScriptEngine::GetCurrentSceneContext(); @@ -140,6 +159,7 @@ namespace Prism { namespace Script { auto [position, rotation, scale] = GetTransformDecomposition(transformComponent.Transform); *outUp = glm::rotate(glm::inverse(glm::normalize(rotation)), glm::vec3(0, 1, 0)); } + */ @@ -181,6 +201,50 @@ namespace Prism { namespace Script { return 0; } + void Prism_TransformComponent_GetRelativeDirection(const uint64_t entityID, glm::vec3* outDirection, const glm::vec3* inAbsoluteDirection) + { + Ref scene = ScriptEngine::GetCurrentSceneContext(); + PM_CORE_ASSERT(scene, "No active scene!"); + const auto& entityMap = scene->GetEntityMap(); + PM_CORE_ASSERT(entityMap.find(entityID) != entityMap.end(), "Invalid entity ID or entity doesn't exist in scene!"); + + Entity entity = entityMap.at(entityID); + const auto& transformComponent = entity.GetComponent(); + + auto [position, rotation, scale] = GetTransformDecomposition(transformComponent.Transform); + *outDirection = glm::rotate(glm::normalize(rotation), *inAbsoluteDirection); + } + + void Prism_TransformComponent_GetRotation(const uint64_t entityID, glm::vec3* outRotation) + { + Ref scene = ScriptEngine::GetCurrentSceneContext(); + PM_CORE_ASSERT(scene, "No active scene!"); + const auto& entityMap = scene->GetEntityMap(); + PM_CORE_ASSERT(entityMap.find(entityID) != entityMap.end(), "Invalid entity ID or entity doesn't exist in scene!"); + + Entity entity = entityMap.at(entityID); + const auto& transformComponent = entity.GetComponent(); + + auto [position, rotation, scale] = GetTransformDecomposition(transformComponent.Transform); + *outRotation = glm::degrees(glm::eulerAngles(rotation)); + } + + void Prism_TransformComponent_SetRotation(const uint64_t entityID, const glm::vec3* inRotation) + { + Ref scene = ScriptEngine::GetCurrentSceneContext(); + PM_CORE_ASSERT(scene, "No active scene!"); + const auto& entityMap = scene->GetEntityMap(); + PM_CORE_ASSERT(entityMap.find(entityID) != entityMap.end(), "Invalid entity ID or entity doesn't exist in scene!"); + + Entity entity = entityMap.at(entityID); + auto& transform = entity.Transform(); + + auto [position, rotation, scale] = GetTransformDecomposition(transform); + transform = glm::translate(glm::mat4(1.0f), position) * + glm::toMat4(glm::quat(glm::radians(*inRotation))) * + glm::scale(glm::mat4(1.0f), scale); + } + void* Prism_MeshComponent_GetMesh(const uint64_t entityID) { Ref scene = ScriptEngine::GetCurrentSceneContext(); @@ -262,14 +326,16 @@ namespace Prism { namespace Script { Entity entity = entityMap.at(entityID); PM_CORE_ASSERT(entity.HasComponent()); - const auto& component = entity.GetComponent(); - physx::PxRigidActor* actor = (physx::PxRigidActor*)component.RuntimeActor; - physx::PxRigidDynamic* dynamicActor = actor->is(); - - // We don't want to assert since scripts might want to be able to switch - // between a static and dynamic actor at runtime - if (!dynamicActor) + const auto& component = entity.GetComponent(); + if (component.IsKinematic) + { + PM_CORE_WARN("Cannot add a force to a kinematic actor! EntityID({0})", entityID); return; + } + + auto* actor = static_cast(component.RuntimeActor); + auto* dynamicActor = actor->is(); + PM_CORE_ASSERT(dynamicActor); PM_CORE_ASSERT(force); dynamicActor->addForce({ force->x, force->y, force->z }, (physx::PxForceMode::Enum)forceMode); @@ -284,14 +350,16 @@ namespace Prism { namespace Script { Entity entity = entityMap.at(entityID); PM_CORE_ASSERT(entity.HasComponent()); - const auto& component = entity.GetComponent(); - physx::PxRigidActor* actor = (physx::PxRigidActor*)component.RuntimeActor; - physx::PxRigidDynamic* dynamicActor = actor->is(); - - // We don't want to assert since scripts might want to be able to switch - // between a static and dynamic actor at runtime - if (!dynamicActor) + const auto& component = entity.GetComponent(); + if (component.IsKinematic) + { + PM_CORE_WARN("Cannot add torque to a kinematic actor! EntityID({0})", entityID); return; + } + + const auto actor = static_cast(component.RuntimeActor); + auto* dynamicActor = actor->is(); + PM_CORE_ASSERT(dynamicActor); PM_CORE_ASSERT(torque); dynamicActor->addTorque({ torque->x, torque->y, torque->z }, (physx::PxForceMode::Enum)forceMode); @@ -306,14 +374,17 @@ namespace Prism { namespace Script { Entity entity = entityMap.at(entityID); PM_CORE_ASSERT(entity.HasComponent()); - const auto& component = entity.GetComponent(); - physx::PxRigidActor* actor = (physx::PxRigidActor*)component.RuntimeActor; - const physx::PxRigidDynamic* dynamicActor = actor->is(); - - // We don't want to assert since scripts might want to be able to switch - // between a static and dynamic actor at runtime - if (!dynamicActor) + const auto& component = entity.GetComponent(); + if (component.IsKinematic) + { + PM_CORE_WARN("Cannot add torque to a kinematic actor! EntityID({0})", entityID); return; + } + + const auto actor = static_cast(component.RuntimeActor); + const physx::PxRigidDynamic* dynamicActor = actor->is(); + PM_CORE_ASSERT(dynamicActor); + PM_CORE_ASSERT(outVelocity); physx::PxVec3 velocity = dynamicActor->getLinearVelocity(); @@ -329,19 +400,44 @@ namespace Prism { namespace Script { Entity entity = entityMap.at(entityID); PM_CORE_ASSERT(entity.HasComponent()); - const auto& component = entity.GetComponent(); - physx::PxRigidActor* actor = (physx::PxRigidActor*)component.RuntimeActor; - physx::PxRigidDynamic* dynamicActor = actor->is(); - - // We don't want to assert since scripts might want to be able to switch - // between a static and dynamic actor at runtime - if (!dynamicActor) + const auto& component = entity.GetComponent(); + if (component.IsKinematic) + { + PM_CORE_WARN("Cannot add torque to a kinematic actor! EntityID({0})", entityID); return; + } + + const auto actor = static_cast(component.RuntimeActor); + auto* dynamicActor = actor->is(); + PM_CORE_ASSERT(dynamicActor); PM_CORE_ASSERT(velocity); dynamicActor->setLinearVelocity({ velocity->x, velocity->y, velocity->z }); } + void Prism_RigidBodyComponent_Rotate(uint64_t entityID, glm::vec3* rotation) + { + Ref scene = ScriptEngine::GetCurrentSceneContext(); + PM_CORE_ASSERT(scene, "No active scene!"); + const auto& entityMap = scene->GetEntityMap(); + PM_CORE_ASSERT(entityMap.find(entityID) != entityMap.end(), "Invalid entity ID or entity doesn't exist in scene!"); + + Entity entity = entityMap.at(entityID); + PM_CORE_ASSERT(entity.HasComponent()); + const auto& component = entity.GetComponent(); + + const auto actor = static_cast(component.RuntimeActor); + auto* dynamicActor = actor->is(); + PM_CORE_ASSERT(dynamicActor); + + physx::PxTransform transform = dynamicActor->getGlobalPose(); + transform.q *= (physx::PxQuat(glm::radians(rotation->x), { 1.0F, 0.0F, 0.0F }) + * physx::PxQuat(glm::radians(rotation->y), { 0.0F, 1.0F, 0.0F }) + * physx::PxQuat(glm::radians(rotation->z), { 0.0F, 0.0F, 1.0F })); + + dynamicActor->setGlobalPose(transform); + } + Ref* Prism_Mesh_Constructor(MonoString* filepath) { @@ -350,7 +446,7 @@ namespace Prism { namespace Script { void Prism_Mesh_Destructor(Ref* _this) { - Ref* instance = (Ref*)_this; + const Ref* instance = (Ref*)_this; delete _this; } diff --git a/Prism/src/Prism/Script/ScriptWarppers.h b/Prism/src/Prism/Script/ScriptWarppers.h index 0c0fd80..aa155c2 100644 --- a/Prism/src/Prism/Script/ScriptWarppers.h +++ b/Prism/src/Prism/Script/ScriptWarppers.h @@ -4,6 +4,7 @@ #ifndef SCRIPTWARPPERS_H #define SCRIPTWARPPERS_H +#include "Prism/Core/Input.h" #include "Prism/Core/KeyCodes.h" #include "Prism/Core/Ref.h" #include "Prism/Physics/Physics3D.h" @@ -23,30 +24,37 @@ namespace Prism { namespace Script { // Input bool Prism_Input_IsKeyPressed(KeyCode key); + void Prism_Input_GetMousePosition(glm::vec2* outPosition); + void Prism_Input_SetCursorMode(CursorMode mode); + CursorMode Prism_Input_GetCursorMode(); // Entity - void Prism_Entity_GetTransform(uint64_t entityID, glm::mat4* outTransform); - void Prism_Entity_SetTransform(uint64_t entityID, const glm::mat4* inTransform); - void Prism_Entity_GetForwardDirection(uint64_t entityID, glm::vec3* outForward); - void Prism_Entity_GetRightDirection(uint64_t entityID, glm::vec3* outRight); - void Prism_Entity_GetUpDirection(uint64_t entityID, glm::vec3* outUp); - void Prism_Entity_CreateComponent(uint64_t entityID, void* type); bool Prism_Entity_HasComponent(uint64_t entityID, void* type); uint64_t Prism_Entity_FindEntityByTag(MonoString* tag); + void Prism_Entity_GetTransform(uint64_t entityID, glm::mat4* outTransform); + void Prism_Entity_SetTransform(uint64_t entityID, const glm::mat4* inTransform); + /* + void Prism_Entity_GetForwardDirection(uint64_t entityID, glm::vec3* outForward); + void Prism_Entity_GetRightDirection(uint64_t entityID, glm::vec3* outRight); + void Prism_Entity_GetUpDirection(uint64_t entityID, glm::vec3* outUp); + */ - void* Prism_MeshComponent_GetMesh(uint64_t entityID); - void Prism_MeshComponent_SetMesh(uint64_t entityID, const Ref* inMesh); + void Prism_TransformComponent_GetRelativeDirection(uint64_t entityID, glm::vec3* outDirection, const glm::vec3* inAbsoluteDirection); + void Prism_TransformComponent_GetRotation(uint64_t entityID,glm::vec3* outRotation); + void Prism_TransformComponent_SetRotation(uint64_t entityID,const glm::vec3* inRotation); // 2D Physic void Prism_RigidBody2DComponent_ApplyLinearImpulse(uint64_t entityID, const glm::vec2* impulse, const glm::vec2* offset, bool wake); void Prism_RigidBody2DComponent_GetLinearVelocity(uint64_t entityID, glm::vec2* outVelocity); void Prism_RigidBody2DComponent_SetLinearVelocity(uint64_t entityID, const glm::vec2* velocity); + // 3D Physic void Prism_RigidBodyComponent_AddForce(uint64_t entityID, glm::vec3* force, ForceMode forceMode); void Prism_RigidBodyComponent_AddTorque(uint64_t entityID, glm::vec3* torque, ForceMode forceMode); void Prism_RigidBodyComponent_GetLinearVelocity(uint64_t entityID, glm::vec3* outVelocity); void Prism_RigidBodyComponent_SetLinearVelocity(uint64_t entityID, glm::vec3* velocity); + void Prism_RigidBodyComponent_Rotate(uint64_t entityID, glm::vec3* rotation); // Renderer // Texture2D @@ -73,6 +81,9 @@ namespace Prism { namespace Script { int Prism_Mesh_GetMaterialCount(Ref* inMesh); void* Prism_MeshFactory_CreatePlane(float width, float height); + + void* Prism_MeshComponent_GetMesh(uint64_t entityID); + void Prism_MeshComponent_SetMesh(uint64_t entityID, const Ref* inMesh); } }