Add project files.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using Raster3D.Engine;
|
||||
using Raster3D.Engine.Impl;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Raster3D.Engine.Graphics;
|
||||
using Raster3D.Engine.Objects;
|
||||
|
||||
namespace Raster3D.App
|
||||
{
|
||||
internal class Game : CGameLoop
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
public override void exec(Engine.Engine engine)
|
||||
{
|
||||
Line line = new Line(new Vec2D(0, 30), new Vec2D(30,60), engine);
|
||||
line._Draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.App.Interfaces
|
||||
{
|
||||
internal interface IDrawable
|
||||
{
|
||||
void draw(GameTime time);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Raster3D.Engine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Raster3D.Engine.Graphics;
|
||||
|
||||
namespace Raster3D.App.Interfaces
|
||||
{
|
||||
internal interface IEntity
|
||||
{
|
||||
int id { get; set; }
|
||||
Vec2D position { get; set; }
|
||||
|
||||
void tick();
|
||||
void spawn();
|
||||
void free();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using Raster3D.App.Interfaces;
|
||||
using Raster3D.Engine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Raster3D.Engine.Graphics;
|
||||
|
||||
namespace Raster3D.App
|
||||
{
|
||||
public class Player : IEntity
|
||||
{
|
||||
public int id { get; set; }
|
||||
public Vec2D position { get; set; }
|
||||
|
||||
public void tick()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void spawn()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void free()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using Raster3D.Engine;
|
||||
using Raster3D.Engine.Impl;
|
||||
|
||||
|
||||
namespace Raster3D.App
|
||||
{
|
||||
public class App : IRunnable
|
||||
{
|
||||
public static Engine.Engine engine;
|
||||
|
||||
public string WindowTitle { get; set; } = "Raster3D Testing Application";
|
||||
|
||||
public App()
|
||||
{
|
||||
engine = new Engine.Engine(this, new Game());
|
||||
}
|
||||
|
||||
public void Run(string[] args)
|
||||
{
|
||||
engine.Run();
|
||||
}
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
IRunnable app = new App();
|
||||
app.Run(args);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Raster3D\Raster3D.Engine.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
<Solution>
|
||||
<Project Path="Raster3D.App/Raster3D.App.csproj" />
|
||||
<Project Path="Raster3D/Raster3D.Engine.csproj" />
|
||||
</Solution>
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"dotnet-mgcb": {
|
||||
"version": "3.8.5",
|
||||
"commands": [
|
||||
"mgcb"
|
||||
]
|
||||
},
|
||||
"dotnet-mgcb-editor": {
|
||||
"version": "3.8.5",
|
||||
"commands": [
|
||||
"mgcb-editor"
|
||||
]
|
||||
},
|
||||
"dotnet-mgcb-editor-linux": {
|
||||
"version": "3.8.5",
|
||||
"commands": [
|
||||
"mgcb-editor-linux"
|
||||
]
|
||||
},
|
||||
"dotnet-mgcb-editor-windows": {
|
||||
"version": "3.8.5",
|
||||
"commands": [
|
||||
"mgcb-editor-windows"
|
||||
]
|
||||
},
|
||||
"dotnet-mgcb-editor-mac": {
|
||||
"version": "3.8.5",
|
||||
"commands": [
|
||||
"mgcb-editor-mac"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "C#: Raster3D Debug",
|
||||
"type": "dotnet",
|
||||
"request": "launch",
|
||||
"projectPath": "${workspaceFolder}/Raster3D.csproj"
|
||||
}
|
||||
],
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
#----------------------------- Global Properties ----------------------------#
|
||||
|
||||
/outputDir:bin/$(Platform)
|
||||
/intermediateDir:obj/$(Platform)
|
||||
/platform:Windows
|
||||
/config:
|
||||
/profile:Reach
|
||||
/compress:False
|
||||
|
||||
#-------------------------------- References --------------------------------#
|
||||
|
||||
|
||||
#---------------------------------- Content ---------------------------------#
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using Raster3D.Engine.Impl;
|
||||
using Raster3D.Engine.Graphics;
|
||||
|
||||
namespace Raster3D.Engine
|
||||
{
|
||||
public class Engine : Game
|
||||
{
|
||||
private GraphicsDeviceManager _graphics;
|
||||
private SpriteBatch _spriteBatch;
|
||||
|
||||
public Pixel[] pixels;
|
||||
public Renderer renderer = new Renderer();
|
||||
public IRunnable TargetApplication;
|
||||
|
||||
public CGameLoop loop;
|
||||
|
||||
|
||||
public Engine(IRunnable Application, CGameLoop EngineLoop)
|
||||
{
|
||||
_graphics = new GraphicsDeviceManager(this);
|
||||
Content.RootDirectory = "Content";
|
||||
IsMouseVisible = true;
|
||||
TargetApplication = Application;
|
||||
loop = EngineLoop;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
// Allocate pixel array based on current viewport size
|
||||
pixels = new Pixel[GraphicsDevice.Viewport.Width * GraphicsDevice.Viewport.Height];
|
||||
Window.Title = TargetApplication.WindowTitle;
|
||||
base.Initialize();
|
||||
|
||||
}
|
||||
|
||||
protected override void LoadContent()
|
||||
{
|
||||
_spriteBatch = new SpriteBatch(GraphicsDevice);
|
||||
}
|
||||
|
||||
protected override void Update(GameTime gameTime)
|
||||
{
|
||||
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
|
||||
Exit();
|
||||
|
||||
base.Update(gameTime);
|
||||
}
|
||||
|
||||
protected override void Draw(GameTime gameTime)
|
||||
{
|
||||
|
||||
if (loop != null)
|
||||
{
|
||||
loop.exec(this);
|
||||
}
|
||||
|
||||
|
||||
GraphicsDevice.Clear(Color.Black);
|
||||
_spriteBatch.Begin();
|
||||
renderer.RenderFrame(pixels, _spriteBatch, GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
|
||||
_spriteBatch.End();
|
||||
|
||||
base.Draw(gameTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Graphics
|
||||
{
|
||||
public struct Pixel
|
||||
{
|
||||
public int X;
|
||||
public int Y;
|
||||
public rgb color;
|
||||
|
||||
public Pixel(int _x, int _y, rgb _color)
|
||||
{
|
||||
X = _x;
|
||||
Y = _y;
|
||||
color = _color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Graphics
|
||||
{
|
||||
public struct Vec2D
|
||||
{
|
||||
public int X;
|
||||
public int Y;
|
||||
|
||||
public Vec2D(int x, int y)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Graphics
|
||||
{
|
||||
public struct rgb
|
||||
{
|
||||
public float r;
|
||||
public float g;
|
||||
public float b;
|
||||
|
||||
public rgb(float _r, float _g, float _b)
|
||||
{
|
||||
r = _r;
|
||||
g = _g;
|
||||
b = _b;
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 144 KiB |
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Raster3D.Engine;
|
||||
|
||||
namespace Raster3D.Engine.Impl
|
||||
{
|
||||
public abstract class CGameLoop
|
||||
{
|
||||
public abstract void exec(Engine engine);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Impl
|
||||
{
|
||||
public interface IObject
|
||||
{
|
||||
IObject[] children { get; set; }
|
||||
void _Draw();
|
||||
void _Free();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Impl
|
||||
{
|
||||
public interface IRunnable
|
||||
{
|
||||
string WindowTitle { get; set; }
|
||||
void Run(string[] args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Raster3D.Engine.Graphics;
|
||||
|
||||
namespace Raster3D.Engine
|
||||
{
|
||||
public class OObjects
|
||||
{
|
||||
public void Line(Vec2D pos1, Vec2D pos2, rgb clr, Engine engine)
|
||||
{
|
||||
int x0 = (int)pos1.X;
|
||||
int y0 = (int)pos1.Y;
|
||||
int x1 = (int)pos2.X;
|
||||
int y1 = (int)pos2.Y;
|
||||
|
||||
int dx = Math.Abs(x1 - x0);
|
||||
int dy = Math.Abs(y1 - y0);
|
||||
|
||||
int sx = x0 < x1 ? 1 : -1;
|
||||
int sy = y0 < y1 ? 1 : -1;
|
||||
|
||||
int err = dx - dy;
|
||||
|
||||
int screenWidth = engine.GraphicsDevice.Viewport.Width;
|
||||
int screenHeight = engine.GraphicsDevice.Viewport.Height;
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (x0 >= 0 && x0 < screenWidth && y0 >= 0 && y0 < screenHeight)
|
||||
{
|
||||
int index = (y0 * screenWidth) + x0;
|
||||
engine.pixels[index] = new Pixel(x0, y0, clr);
|
||||
}
|
||||
|
||||
if (x0 == x1 && y0 == y1) break;
|
||||
|
||||
int e2 = 2 * err;
|
||||
|
||||
if (e2 > -dy)
|
||||
{
|
||||
err -= dy;
|
||||
x0 += sx;
|
||||
}
|
||||
|
||||
if (e2 < dx)
|
||||
{
|
||||
err += dx;
|
||||
y0 += sy;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Triangle(Vec2D[] positions, rgb[] colors, Engine engine)
|
||||
{
|
||||
// positions should have a length of 3 and exactly 3
|
||||
// colors has 3 points
|
||||
|
||||
// this just draws an array of lines
|
||||
|
||||
// line 1
|
||||
Line(positions[0], positions[1], colors[0], engine); // pos1 - pos2
|
||||
|
||||
// line 2
|
||||
Line(positions[1], positions[2], colors[1], engine); // pos2 - pos3
|
||||
|
||||
// line 3
|
||||
Line(positions[2], positions[0], colors[2], engine); // pos3 - back to pos1
|
||||
}
|
||||
|
||||
public void Square(Vec2D[] points, rgb[] colors, Engine engine)
|
||||
{
|
||||
// TODO: implemen t this
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
using Raster3D.Engine.Graphics;
|
||||
using Raster3D.Engine.Impl;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.ConstrainedExecution;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Objects
|
||||
{
|
||||
public class Line : IObject
|
||||
{
|
||||
// This is the base class for all IObject things that use primative lines
|
||||
|
||||
|
||||
// implement children
|
||||
public IObject[] children { get; set; }
|
||||
|
||||
|
||||
// cast variaibles
|
||||
private Vec2D _pos1;
|
||||
private Vec2D _pos2;
|
||||
private rgb _clr;
|
||||
private int _width;
|
||||
private Engine _engine;
|
||||
private bool canDraw = true;
|
||||
|
||||
private enum ECastType
|
||||
{
|
||||
Standard,
|
||||
PlainColour,
|
||||
CustomWidth
|
||||
}
|
||||
|
||||
private ECastType castType;
|
||||
|
||||
|
||||
// legacy cast for some ammount of backwards compat
|
||||
public Line(Vec2D pos1, Vec2D pos2, rgb clr, Engine engine)
|
||||
{
|
||||
_pos1 = pos1;
|
||||
_pos2 = pos2;
|
||||
_clr = clr;
|
||||
_engine = engine;
|
||||
castType = ECastType.Standard;
|
||||
}
|
||||
|
||||
// csat with plain white colour
|
||||
public Line(Vec2D pos1, Vec2D pos2, Engine engine)
|
||||
{
|
||||
_pos1 = pos1;
|
||||
_pos2 = pos2;
|
||||
_engine = engine;
|
||||
_clr = new rgb(1.0f, 1.0f, 1.0f);
|
||||
castType = ECastType.PlainColour;
|
||||
}
|
||||
|
||||
// cast with custom width
|
||||
public Line(Vec2D pos1, Vec2D pos2, rgb clr, int width, Engine engine)
|
||||
{
|
||||
_pos1 = pos1;
|
||||
_pos2 = pos2;
|
||||
_clr = clr;
|
||||
_engine = engine;
|
||||
_width = width;
|
||||
castType = ECastType.CustomWidth;
|
||||
}
|
||||
|
||||
// draw call
|
||||
public void _Draw()
|
||||
{
|
||||
int x0 = (int)_pos1.X;
|
||||
int y0 = (int)_pos1.Y;
|
||||
int x1 = (int)_pos2.X;
|
||||
int y1 = (int)_pos2.Y;
|
||||
|
||||
int dx = Math.Abs(x1 - x0);
|
||||
int dy = Math.Abs(y1 - y0);
|
||||
|
||||
int sx = x0 < x1 ? 1 : -1;
|
||||
int sy = y0 < y1 ? 1 : -1;
|
||||
|
||||
int err = dx - dy;
|
||||
|
||||
int screenWidth = _engine.GraphicsDevice.Viewport.Width;
|
||||
int screenHeight = _engine.GraphicsDevice.Viewport.Height;
|
||||
|
||||
while (canDraw)
|
||||
{
|
||||
if (x0 >= 0 && x0 < screenWidth && y0 >= 0 && y0 < screenHeight)
|
||||
{
|
||||
int index = (y0 * screenWidth) + x0;
|
||||
_engine.pixels[index] = new Pixel(x0, y0, _clr);
|
||||
}
|
||||
|
||||
if (x0 == x1 && y0 == y1) break;
|
||||
|
||||
int e2 = 2 * err;
|
||||
|
||||
if (e2 > -dy)
|
||||
{
|
||||
err -= dy;
|
||||
x0 += sx;
|
||||
}
|
||||
|
||||
if (e2 < dx)
|
||||
{
|
||||
err += dx;
|
||||
y0 += sy;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// destroy call
|
||||
public void _Free()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Raster3D.Engine.Graphics;
|
||||
using Raster3D.Engine.Impl;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Raster3D.Engine.Objects
|
||||
{
|
||||
public class Triangle : IObject
|
||||
{
|
||||
public IObject[] children { get; set; } = new IObject[3];
|
||||
|
||||
// positions array
|
||||
private Vec2D[] _positions;
|
||||
private rgb[] _clrs;
|
||||
private Engine _engine;
|
||||
|
||||
public Triangle(Vec2D[] positions, rgb[] colors, Engine engine)
|
||||
{
|
||||
_positions = positions;
|
||||
_clrs = colors;
|
||||
_engine = engine;
|
||||
}
|
||||
|
||||
public void _Draw()
|
||||
{
|
||||
children.Append(new Line(_positions[0], _positions[1], _clrs[0], _engine));
|
||||
children.Append(new Line(_positions[1], _positions[2], _clrs[1], _engine));
|
||||
children.Append(new Line(_positions[2], _positions[1], _clrs[2], _engine));
|
||||
}
|
||||
|
||||
public void _Free()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<RollForward>Major</RollForward>
|
||||
<PublishReadyToRun>false</PublishReadyToRun>
|
||||
<TieredCompilation>false</TieredCompilation>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<ApplicationIcon>Icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MonoGame.Framework.WindowsDX" Version="3.8.*" />
|
||||
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.*" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,39 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Raster3D.Engine.Graphics;
|
||||
|
||||
namespace Raster3D.Engine
|
||||
{
|
||||
public class Renderer
|
||||
{
|
||||
private Texture2D _frameBufferTexture;
|
||||
private Color[] _colorData;
|
||||
|
||||
public void RenderFrame(Pixel[] pixels, SpriteBatch batch, GraphicsDevice device, int width, int height)
|
||||
{
|
||||
if (_frameBufferTexture == null || _frameBufferTexture.Width != width || _frameBufferTexture.Height != height)
|
||||
{
|
||||
_frameBufferTexture?.Dispose();
|
||||
_frameBufferTexture = new Texture2D(device, width, height);
|
||||
_colorData = new Color[width * height];
|
||||
}
|
||||
|
||||
for (int i = 0; i < _colorData.Length; i++)
|
||||
{
|
||||
_colorData[i] = Color.Black;
|
||||
}
|
||||
|
||||
foreach (var p in pixels)
|
||||
{
|
||||
if (p.X >= 0 && p.X < width && p.Y >= 0 && p.Y < height)
|
||||
{
|
||||
int index = (p.Y * width) + p.X;
|
||||
_colorData[index] = new Color(p.color.r, p.color.g, p.color.b, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
_frameBufferTexture.SetData(_colorData);
|
||||
batch.Draw(_frameBufferTexture, Vector2.Zero, Color.White);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="Raster3D"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on and is
|
||||
is designed to work with. Uncomment the appropriate elements and Windows will
|
||||
automatically selected the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
</assembly>
|
||||
@@ -0,0 +1,17 @@
|
||||
# Line
|
||||
|
||||
### [RenderObject](RenderObject.md) < [Pixel](Pixel.md) < [<u>Line</u>](Line.md)
|
||||
|
||||
##
|
||||
|
||||
The line primitave is a simple one, comprised of 2 Vec2D points
|
||||
|
||||
##
|
||||
## Arguments
|
||||
|
||||
| Name | Type | Need |
|
||||
| ---- | ---- | ---- |
|
||||
| pos1 | [Vec2D]() | The first position of a line |
|
||||
| pos2 | [Vec2D]() | The second position of a line |
|
||||
| color | [rgb]() | The fill color of the line |
|
||||
| engine | [Engine]() | The call for the engine, used to access the pixbuf
|
||||
@@ -0,0 +1,12 @@
|
||||
# Raster3D Objects docs
|
||||
|
||||
Raster3D contains a few builtin objects that can be used to draw shapes and primitaves onscreen.
|
||||
|
||||
Below is an exhaustive tree list of objects and links to their documentation.
|
||||
|
||||
|
||||
- [RenderObject](RenderObject.md)
|
||||
- [Pixel](Pixel.md)
|
||||
- [Line](Line.md)
|
||||
- [Triangle](Triangle.md)
|
||||
- [Square](Square.md)
|
||||
@@ -0,0 +1,3 @@
|
||||
# Pixel
|
||||
|
||||
### [RenderObject]() < [<u>Pixel</u>](objects/Pixel.md)
|
||||
@@ -0,0 +1,13 @@
|
||||
# Triangle
|
||||
|
||||
### [RenderObject](RenderObject.md) < [Pixel](Pixel.md) < [Line](Line.md) < [<u>Triangle</u>](Triangle.md)
|
||||
|
||||
##
|
||||
|
||||
Description
|
||||
|
||||
##
|
||||
## Arguments
|
||||
|
||||
| Name | Type | Need |
|
||||
| ---- | ---- | ---- |
|
||||
@@ -0,0 +1,13 @@
|
||||
# Template
|
||||
|
||||
### [ThingThatExtended]() < [<u>Thing</u>]()
|
||||
|
||||
##
|
||||
|
||||
Description
|
||||
|
||||
##
|
||||
## Arguments
|
||||
|
||||
| Name | Type | Need |
|
||||
| ---- | ---- | ---- |
|
||||
Reference in New Issue
Block a user