Browse Source

Updated TODO
Some diagrams

Marko Pintera 13 years ago
parent
commit
a569fe24ad

+ 40 - 0
CamelotModel/CamelotModel.modelproj

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{cf27aa3e-cbe5-48fa-9562-12b4bf474acd}</ProjectGuid>
+    <ArchitectureToolsVersion>2.0.0.0</ArchitectureToolsVersion>
+    <Name>CamelotModel</Name>
+    <RootNamespace>CamelotModel</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <OutputPath>bin\Debug\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <OutputPath>bin\Release\</OutputPath>
+  </PropertyGroup>
+  <PropertyGroup>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+  </PropertyGroup>
+  <Import Project="$(VSToolsPath)\ArchitectureTools\Microsoft.VisualStudio.TeamArchitect.ModelingProject.targets" Condition="'$(VSToolsPath)' != ''" />
+  <ItemGroup>
+    <Content Include="ModelDefinition\Package_0944.uml">
+      <SubType>Content</SubType>
+    </Content>
+    <Folder Include="ModelDefinition\" />
+    <Content Include="CamelotRenderer.classdiagram">
+      <SubType>Content</SubType>
+    </Content>
+    <Content Include="CamelotRenderer.classdiagram.layout">
+      <SubType>Content</SubType>
+      <DependentUpon>CamelotRenderer.classdiagram</DependentUpon>
+    </Content>
+    <Content Include="ModelDefinition\CamelotModel.uml">
+      <SubType>Content</SubType>
+    </Content>
+  </ItemGroup>
+</Project>

+ 68 - 0
CamelotModel/CamelotRenderer.classdiagram

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<logicalClassDesignerModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/ModelStore" dslVersion="1.0.0.0" Id="48b34378-da55-465a-a892-76d175ff5231" name="CamelotRenderer" linkedPackageId="6f61deea-ed4f-4da2-bc5a-71d027d4ba7b" xmlns="http://schemas.microsoft.com/dsltools/LogicalClassDesigner">
+  <ownedCommentsInternal>
+    <comment Id="78910cb1-ab4f-4954-a1be-31806a91511a">
+      <elementDefinition Id="4dbc913b-8dc4-44bf-964e-521d5c4f9548" />
+      <body>Merge Camera + Viewport
+Part of CamelotEngine, not CamelotFramework</body>
+      <annotatedElements>
+        <classMoniker Id="a39d80e7-2e98-44c5-856d-3fcb096e33ac" LastKnownName="Camera" />
+      </annotatedElements>
+    </comment>
+  </ownedCommentsInternal>
+  <profileInstances>
+    <packageHasProfileInstances Id="8fa51e6a-31ce-4c44-a30a-c81fc552c655">
+      <profileInstance Id="26c44f66-4391-4dbf-a275-8e831376d639" name="StandardProfileL2">
+        <elementDefinition Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791" />
+      </profileInstance>
+      <elementDefinition Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b" />
+    </packageHasProfileInstances>
+    <packageHasProfileInstances Id="d5650536-6da6-4a75-9104-630adf9e68dc">
+      <profileInstance Id="93a392ce-8a71-4982-936a-3cc98f119a68" name="StandardProfileL3">
+        <elementDefinition Id="532ea607-fb19-44b8-8502-3351b05452be" />
+      </profileInstance>
+      <elementDefinition Id="29349502-908c-4fda-9054-c48619c59ed0" />
+    </packageHasProfileInstances>
+  </profileInstances>
+  <packagedElements>
+    <logicalClassDesignerModelHasTypes>
+      <class Id="649c9b98-5a69-48c4-8a40-3167cbb2d70b" name="RenderSystem" isAbstract="false" isLeaf="false" isActiveClass="false">
+        <elementDefinition Id="179fd296-1941-49ac-8a2e-e9d73865b91e" />
+      </class>
+    </logicalClassDesignerModelHasTypes>
+    <logicalClassDesignerModelHasTypes>
+      <class Id="a39d80e7-2e98-44c5-856d-3fcb096e33ac" name="Camera" isAbstract="false" isLeaf="false" isActiveClass="false">
+        <elementDefinition Id="0a614ed3-2d02-463a-b3b0-d58805264a45" />
+        <ownedAttributesInternal>
+          <property Id="a9887017-0da6-490d-85be-b4ca8cbc86a0" name="RenderTarget" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="889c55d8-0229-4022-8e56-a839d3fca805" />
+          </property>
+          <property Id="128338ed-d15f-4776-8fd1-9e444d318e2f" name="Near/Far plane" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="848bbb31-509e-4df5-b0b6-eaacb7bd62e9" />
+          </property>
+          <property Id="729b083e-1835-41c1-94a0-af13157ba5d6" name="Clear color" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="480520ba-7edc-4187-b43f-cff2c0c9caf1" />
+          </property>
+          <property Id="7506047a-b1a3-4252-b4f0-b61014fda80f" name="Clear depth" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="cf766a9c-71aa-43ef-83b1-e01df606309d" />
+          </property>
+          <property Id="35451493-e715-40d0-b411-54a7a87b8c60" name="Clear options" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="60cbfdde-0139-463e-9e6d-8c1727e64664" />
+          </property>
+          <property Id="a668650f-bdd6-45ab-a886-d297c3902fa7" name="Projection type" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="2dc3f950-382e-4dfe-8ed0-1edf5743735c" />
+          </property>
+          <property Id="6555a810-999c-4911-a09f-60877e05d945" name="FOV" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="4e02a0ba-ab83-4c7e-9734-537861bb297a" />
+          </property>
+          <property Id="f39ab25a-5250-4433-aa03-c86644f3f524" name="ViewportRectangle" isLeaf="false" isStatic="false" isReadOnly="false" isUnique="false" isDerived="false" isDerivedUnion="false" aggregation="None" isComposite="false">
+            <elementDefinition Id="5f2dbda2-34d1-4847-b722-2780dd0e5c80" />
+          </property>
+        </ownedAttributesInternal>
+      </class>
+    </logicalClassDesignerModelHasTypes>
+  </packagedElements>
+  <package Id="6f61deea-ed4f-4da2-bc5a-71d027d4ba7b" name="CamelotModel">
+    <elementDefinition Id="6244ed9a-fd06-458a-85ca-9f489f537fa4" />
+  </package>
+</logicalClassDesignerModel>

+ 31 - 0
CamelotModel/CamelotRenderer.classdiagram.layout

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<logicalClassDesignerDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 11, 8.5" name="CamelotRenderer">
+  <logicalClassDesignerModelMoniker Id="48b34378-da55-465a-a892-76d175ff5231" />
+  <nestedChildShapes>
+    <classShape Id="0931f765-e8d2-48ff-a1ed-8bd1e1601e47" absoluteBounds="2.625, 1.625, 1.5, 0.90234373509883881" hideQualifiedName="false" increaseHeight="0" customColor="181, 193, 223">
+      <classMoniker Id="649c9b98-5a69-48c4-8a40-3167cbb2d70b" LastKnownName="RenderSystem" />
+      <nestedChildShapes>
+        <AttributeElementListCompartment Id="252c29ca-a761-4d14-b40a-ee635b152558" absoluteBounds="2.64, 2.015, 1.4700000000000002, 0.2011718675494194" name="AttributesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <OperationElementListCompartment Id="1f3abef4-10f2-401e-b052-1c2f34a55fdf" absoluteBounds="2.64, 2.2261718675494193, 1.4700000000000002, 0.2011718675494194" name="OperationsCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <classShape Id="4f836bed-5c98-44db-8234-dbbeb224c802" absoluteBounds="4.875, 1.5, 1.5, 2.1835936953624087" hideQualifiedName="false" increaseHeight="0" customColor="181, 193, 223">
+      <classMoniker Id="a39d80e7-2e98-44c5-856d-3fcb096e33ac" LastKnownName="Camera" />
+      <nestedChildShapes>
+        <AttributeElementListCompartment Id="3fd4c21e-fefa-42fe-b97a-a2c93f2f8b7d" absoluteBounds="4.89, 1.8900000000000001, 1.4700000000000002, 1.4824218278129895" name="AttributesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <OperationElementListCompartment Id="7e15c17b-28f0-4734-9017-c10e06bb3268" absoluteBounds="4.89, 3.3824218278129896, 1.4700000000000002, 0.20117186754941963" name="OperationsCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <commentShape Id="bb10abbd-61fb-4581-a401-7f4d24f6e3a8" absoluteBounds="6.625, 1.5, 1.25, 0.875" customColor="251, 247, 200">
+      <commentMoniker Id="78910cb1-ab4f-4954-a1be-31806a91511a" />
+      <relativeChildShapes />
+    </commentShape>
+    <commentConnector edgePoints="[(6.625 : 1.9375); (6.375 : 1.9375)]" fixedFrom="Algorithm" fixedTo="Algorithm" TargetRelationshipDomainClassId="217d6bd0-42ed-4e7f-ad2b-af3ef5142428" customColor="Black">
+      <relativeChildShapes />
+      <nodes>
+        <commentShapeMoniker Id="bb10abbd-61fb-4581-a401-7f4d24f6e3a8" />
+        <classShapeMoniker Id="4f836bed-5c98-44db-8234-dbbeb224c802" />
+      </nodes>
+    </commentConnector>
+  </nestedChildShapes>
+</logicalClassDesignerDiagram>

+ 168 - 0
CamelotModel/ModelDefinition/CamelotModel.uml

@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="utf-8"?>
+<modelStoreModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner"
+  dslVersion="1.0.0.0"
+  Id="6244ed9a-fd06-458a-85ca-9f489f537fa4"
+  name="CamelotModel" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
+  <ownedCommentsInternal>
+    <comment
+      Id="4dbc913b-8dc4-44bf-964e-521d5c4f9548">
+      <body>Merge Camera + Viewport
+Part of CamelotEngine, not CamelotFramework</body>
+      <annotatedElements>
+        <classMoniker
+          Id="0a614ed3-2d02-463a-b3b0-d58805264a45"
+          LastKnownName="Camera"
+          LastKnownLocation="CamelotModel.uml" />
+      </annotatedElements>
+    </comment>
+  </ownedCommentsInternal>
+  <profileInstances>
+    <packageHasProfileInstances
+      Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b">
+      <profileInstance
+        Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791"
+        name="StandardProfileL2" />
+    </packageHasProfileInstances>
+    <packageHasProfileInstances
+      Id="29349502-908c-4fda-9054-c48619c59ed0">
+      <profileInstance
+        Id="532ea607-fb19-44b8-8502-3351b05452be"
+        name="StandardProfileL3" />
+    </packageHasProfileInstances>
+  </profileInstances>
+  <packagedElements>
+    <packageHasNamedElement>
+      <packageMoniker
+        Id="3987be13-7503-4598-bae8-35c3aea3e9ef"
+        LastKnownName="CamelotRenderer"
+        LastKnownLocation="Package_0944.uml" />
+    </packageHasNamedElement>
+    <packageHasNamedElement>
+      <class
+        Id="179fd296-1941-49ac-8a2e-e9d73865b91e"
+        name="RenderSystem"
+        isAbstract="false"
+        isLeaf="false"
+        isActiveClass="false" />
+    </packageHasNamedElement>
+    <packageHasNamedElement>
+      <class
+        Id="0a614ed3-2d02-463a-b3b0-d58805264a45"
+        name="Camera"
+        isAbstract="false"
+        isLeaf="false"
+        isActiveClass="false">
+        <ownedAttributesInternal>
+          <property
+            Id="889c55d8-0229-4022-8e56-a839d3fca805"
+            name="RenderTarget"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="848bbb31-509e-4df5-b0b6-eaacb7bd62e9"
+            name="Near/Far plane"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="480520ba-7edc-4187-b43f-cff2c0c9caf1"
+            name="Clear color"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="cf766a9c-71aa-43ef-83b1-e01df606309d"
+            name="Clear depth"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="60cbfdde-0139-463e-9e6d-8c1727e64664"
+            name="Clear options"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="2dc3f950-382e-4dfe-8ed0-1edf5743735c"
+            name="Projection type"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="4e02a0ba-ab83-4c7e-9734-537861bb297a"
+            name="FOV"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+          <property
+            Id="5f2dbda2-34d1-4847-b722-2780dd0e5c80"
+            name="ViewportRectangle"
+            isLeaf="false"
+            isStatic="false"
+            isReadOnly="false"
+            isUnique="false"
+            isDerived="false"
+            isDerivedUnion="false"
+            aggregation="None"
+            isComposite="false" />
+        </ownedAttributesInternal>
+      </class>
+    </packageHasNamedElement>
+  </packagedElements>
+  <primitiveType
+    Id="220a3521-e091-4221-bae9-3ef9018e845c"
+    name="Integer"
+    isAbstract="false"
+    isLeaf="false" />
+  <primitiveType
+    Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
+    name="Boolean"
+    isAbstract="false"
+    isLeaf="false" />
+  <primitiveType
+    Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
+    name="String"
+    isAbstract="false"
+    isLeaf="false" />
+  <primitiveType
+    Id="3ab42e7d-4969-445a-b209-471f5cb8209c"
+    name="UnlimitedNatural"
+    isAbstract="false"
+    isLeaf="false" />
+</modelStoreModel>

+ 5 - 0
CamelotModel/ModelDefinition/Package_0944.uml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner"
+  dslVersion="1.0.0.0"
+  Id="3987be13-7503-4598-bae8-35c3aea3e9ef"
+  name="CamelotRenderer" xmlns="http://schemas.microsoft.com/dsltools/ModelStore" />

+ 22 - 0
CamelotRenderer.sln

@@ -3,20 +3,42 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2012
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CamelotRenderer", "CamelotRenderer\CamelotRenderer.vcxproj", "{9B21D41C-516B-43BF-9B10-E99B599C7589}"
 EndProject
+Project("{F088123C-0E9E-452A-89E6-6BA2F21D5CAC}") = "CamelotModel", "CamelotModel\CamelotModel.modelproj", "{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}"
+EndProject
 Global
 	GlobalSection(SubversionScc) = preSolution
 		Svn-Managed = True
 		Manager = AnkhSVN - Subversion Support for Visual Studio
 	EndGlobalSection
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|Mixed Platforms = Debug|Mixed Platforms
 		Debug|Win32 = Debug|Win32
+		Release|Any CPU = Release|Any CPU
+		Release|Mixed Platforms = Release|Mixed Platforms
 		Release|Win32 = Release|Win32
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Win32.ActiveCfg = Debug|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Win32.Build.0 = Debug|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Any CPU.ActiveCfg = Release|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Win32.ActiveCfg = Release|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Win32.Build.0 = Release|Win32
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Debug|Win32.ActiveCfg = Debug|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{CF27AA3E-CBE5-48FA-9562-12B4BF474ACD}.Release|Win32.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 0
CamelotRenderer/CamelotRenderer.vcxproj

@@ -84,6 +84,7 @@
   </ItemDefinitionGroup>
   <ItemGroup>
     <Text Include="ReadMe.txt" />
+    <Text Include="TODO.txt" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="asm_math.h" />

+ 36 - 29
CamelotRenderer/CamelotRenderer.vcxproj.filters

@@ -31,9 +31,16 @@
     <Filter Include="Source Files\ForRemoval">
       <UniqueIdentifier>{004ec8e4-409f-4bc2-b697-f24c707a2429}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Header Files\Utility">
+      <UniqueIdentifier>{2c09857e-4a4a-480f-8ebb-1661a9ce78dd}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\Utility">
+      <UniqueIdentifier>{48d2fcc6-cfa6-4d2f-a83c-d16ec65eb96b}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <Text Include="ReadMe.txt" />
+    <Text Include="TODO.txt" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="stdafx.h">
@@ -42,9 +49,6 @@
     <ClInclude Include="targetver.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgreColourValue.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreD3D9Prerequisites.h">
       <Filter>Header Files\D3D9RenderSystem</Filter>
     </ClInclude>
@@ -171,15 +175,9 @@
     <ClInclude Include="OgreViewport.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgreCommon.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreRenderTarget.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgrePixelFormat.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreGpuProgram.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -189,9 +187,6 @@
     <ClInclude Include="OgreGpuProgramParams.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgreStringInterface.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreHighLevelGpuProgram.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -207,15 +202,9 @@
     <ClInclude Include="OgreHardwarePixelBuffer.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgreImageResampler.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreRenderSystem.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="OgreBlendMode.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="OgreTextureUnitState.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -288,8 +277,26 @@
     <ClInclude Include="OgreD3D9VideoModeList.h">
       <Filter>Header Files\D3D9RenderSystem</Filter>
     </ClInclude>
+    <ClInclude Include="OgreBlendMode.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
+    <ClInclude Include="OgreColourValue.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
+    <ClInclude Include="OgreCommon.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
+    <ClInclude Include="OgreImageResampler.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
+    <ClInclude Include="OgrePixelFormat.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
+    <ClInclude Include="OgreStringInterface.h">
+      <Filter>Header Files\Utility</Filter>
+    </ClInclude>
     <ClInclude Include="OgreWindowEventUtilities.h">
-      <Filter>Header Files</Filter>
+      <Filter>Header Files\Utility</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
@@ -323,9 +330,6 @@
     <ClCompile Include="OgreDefaultHardwareBufferManager.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="OgreColourValue.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="OgreMath.cpp">
       <Filter>Source Files\Math</Filter>
     </ClCompile>
@@ -374,18 +378,12 @@
     <ClCompile Include="OgreRenderTarget.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="OgrePixelFormat.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="OgreGpuProgram.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="OgreGpuProgramParams.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="OgreStringInterface.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="OgreHighLevelGpuProgram.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -476,8 +474,17 @@
     <ClCompile Include="OgreD3D9VideoModeList.cpp">
       <Filter>Source Files\D3D9RenderSystem</Filter>
     </ClCompile>
+    <ClCompile Include="OgreColourValue.cpp">
+      <Filter>Source Files\Utility</Filter>
+    </ClCompile>
+    <ClCompile Include="OgrePixelFormat.cpp">
+      <Filter>Source Files\Utility</Filter>
+    </ClCompile>
+    <ClCompile Include="OgreStringInterface.cpp">
+      <Filter>Source Files\Utility</Filter>
+    </ClCompile>
     <ClCompile Include="OgreWindowEventUtilities.cpp">
-      <Filter>Source Files</Filter>
+      <Filter>Source Files\Utility</Filter>
     </ClCompile>
   </ItemGroup>
 </Project>

+ 86 - 0
CamelotRenderer/TODO.txt

@@ -0,0 +1,86 @@
+1. Search for all "TODO PORT" comments and fix them
+  - First I should create a render system singleton other classes can easily access
+2. Try to reproduce minimal functionality by rendering a cube (Similar like OgreToCamelotPort project does)
+3. Start stripping down the classes and see what I really need
+4. Port OpenGL render system as well
+
+DefaultHardwareBufferManager - Provides emulation of hardware buffers
+ - I think this class is okay to stay, although I'm not sure where its used, but its simple enough
+
+Frustum
+ - Reflect plane/matrix/methods need to be removed
+ - Oblique plane/matrix/methods need to be removed (AKA custom clip plane)
+ - Remove orientation stuff because it's iPhone only
+ - World space methods need to be updated. I still need them but they need to get their data from Transform
+
+GpuProgram - Most low level shader program. Single pixel/vertex/geometry shader.
+ - keeps a lot of data specific to skeletal anim, morphing and similar. It should be more generic
+ - has code that points to the source file, that should be at a higher level
+ - also has code for loading directly from source file, but it should be loaded from string
+ - has fixed pipeline code like surface and light states, fog states and transform states
+ - ParamCommand and specific parameters that inherit from it should also be removed. Together with StringInterface.h
+
+GpuProgramParams - Holds all parameters used in a shader program and allows us to set them by index or name
+ - Explore if we can remove GpuSharedParameters. I'm not exactly sure what they're used for
+
+HardwareBuffer - Base class for all buffers
+ - Everything seems fine although I /might/ want to explore how the shadow buffer works and if I want to implement it differently?
+
+HardwareBufferManager - Abstracts whether I'm creating D3D9 or OpenGL buffers
+ - License stuff needs to be removed. I'm not sure what it's used for
+
+HardwareIndexBuffer - Everything OK
+
+HardwareOcclusionQuery - OK, but I might consider a more generic interface for queries (I'll need profiling queries too for example)
+
+HardwarePixelBuffer 
+ - I might consider giving PixelBox a better name. Also rename PixelFormat.h to PixelUtil.h or similar. Makes more sense.
+ - _clearSliceRTT method I'm not sure what is it used for, but I might want to remove it
+
+HardwareVertexBuffer - Very neat file
+ - VertexDeclaration::getAutoOrganisedDeclaration is my only complaint. It has some vertex/skeletal animation specifics I don't want.
+
+HighLevelGpuProgram - Mostly okay
+ - Has some methods for loading from a file, which I wont do
+
+RenderSystemCapabilities - I think I need all of that
+
+RenderTarget:
+ - update() causes rendering to start - This probably need to be moved to camera, as I want it to be responsible for rendering
+ - keeps a viewport list, which I also don't think I'll need
+ - autoUpdate and various update methods that I probably don't need
+
+RenderTexture - Everything OK
+
+RenderWindow - Everything OK
+
+Texture
+ - mTreatLuminanceAsAlpha and corresponding methods - I dont think I need that or that it's used
+
+TextureUnitState - Try to remove this class completely
+ - Texture transform and effect stuff should be removed completely
+ - Texture addressing mode/vert,frag binding/anisotropy/mipbias/min,mag,mip filters, should be specified per-material
+ - Move the rest somewhere else (Needs further study)
+
+VertexIndexData - Just data structures
+ - VertexCacheProfiler is a weird one, but I think I don't have to remove it as it might come in handy
+
+Viewport - MERGE WITH CAMERA
+ - Remove orientation mode
+ - Remove various update/clearEveryFrame methods
+ - Remove material scheme
+ - Remove Overlays/skies/shadows/visibility mask (I'll be needing all at some point but not now)
+ - Remove renderqueue invoication sequence
+
+TODO:
+ - Make sure to parse D3D9 implementations of above classes and see what needs removing there as well
+
+
+Other notes:
+ - Make sure to remove all ogre memory allocators and memory category bullshit (Possibly replace with Camelot versions?)
+ - Remove Ogre::String and Ogre::Real (Possibly replace with Camelot versions?)
+ - Because HardwareBufferManager is quite useful I will probably need to reintroduce GpuProgramManager as well - Probably not until I add OpenGL
+   - As well as TextureManager
+ - Ogre::ColourValue -> CamelotEngine::Color (Other struct names are okay for the most part)
+ - Port all math methods to Camelot
+ - Rename all macros and other OGRE references to CM