Re: Reflection in game engine (c++)

"Jarkko Lempiainen" <[email protected]> Tue, 19 Mar 2013 15:58:39 -0400
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
This is a multipart message in MIME format.

--===============0021094543==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_001D_01CE24BA.A0544F80"
Content-Language: en-us

This is a multipart message in MIME format.

------=_NextPart_000_001D_01CE24BA.A0544F80
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

While ago I wrote an introductory article to C++ reflection system I
implemented, which may answer some of your questions about reflection in
general as well:
http://community.spinxengine.com/content/40-introduction--sxp-reflection-sys
tem.html

Simply put a class reflection exposes class members in run-time and you can
build other more complex systems (e.g. networking, editor property grid,
versioned save/load, etc.) on top of it without having to write specific
code for each class for these systems.

 

 

Cheers, Jarkko

 

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Massimo
Del Zotto
Sent: Tuesday, March 19, 2013 3:23 PM
To: [email protected]
Subject: Re: [Sweng-Gamedev] Reflection in game engine (c++)

 

As a side note, the Bullet physics API serializes everything with its
accompanying DNA as far as I know.

I'd just throw the link in for documentation.

http://bulletphysics.org/mediawiki-1.5.8/index.php/Serialization_DNA_restric
tions,_size_and_alignment_rules

 

I have no idea if this qualifies as "reflection" but it seems Jarkko'
suggestion is really good habit to me.

 

Massimo


------=_NextPart_000_001D_01CE24BA.A0544F80
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>While ago I wrote an introductory article to C++ reflection system I =
implemented, which may answer some of your questions about reflection in =
general as well: <a =
href=3D"http://community.spinxengine.com/content/40-introduction--sxp-ref=
lection-system.html">http://community.spinxengine.com/content/40-introduc=
tion--sxp-reflection-system.html</a><o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Simply put a class reflection exposes class members in run-time and =
you can build other more complex systems (e.g. networking, editor =
property grid, versioned save/load, etc.) on top of it without having to =
write specific code for each class for these =
systems.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'>Cheers, Jarkko<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497=
D'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>=
</b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> =
[email protected] =
[mailto:[email protected]] <b>On Behalf Of =
</b>Massimo Del Zotto<br><b>Sent:</b> Tuesday, March 19, 2013 3:23 =
PM<br><b>To:</b> [email protected]<br><b>Subject:</b> Re: =
[Sweng-Gamedev] Reflection in game engine (c++)<o:p></o:p></span></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>As a side =
note, the Bullet physics API serializes everything with its accompanying =
DNA as far as I know.<o:p></o:p></p><div><p class=3DMsoNormal>I'd just =
throw the link in for documentation.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><a =
href=3D"http://bulletphysics.org/mediawiki-1.5.8/index.php/Serialization_=
DNA_restrictions,_size_and_alignment_rules">http://bulletphysics.org/medi=
awiki-1.5.8/index.php/Serialization_DNA_restrictions,_size_and_alignment_=
rules</a><o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>I =
have no idea if this qualifies as &quot;reflection&quot; but it seems =
Jarkko' suggestion is really good habit to =
me.<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'>Massimo<o:p></o:p></p></div></div></body><=
/html>
------=_NextPart_000_001D_01CE24BA.A0544F80--


--===============0021094543==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com

--===============0021094543==--