Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
3055c85
feat: handling timeline deletion
JeremyMeissner May 6, 2022
7c3170f
chore: doing animation section
JeremyMeissner May 6, 2022
02d75b1
docs: add brand identity
JeremyMeissner May 7, 2022
7adcd6f
feat: shape animation list ui
JeremyMeissner May 9, 2022
3732d3c
Merge branch '5-timeline-implementation' of https://github.com/Jeremy…
JeremyMeissner May 9, 2022
6055621
chore: interpolation implementation
JeremyMeissner May 10, 2022
687c8b4
feat: timeline loop
JeremyMeissner May 11, 2022
25f76b3
refactor: global structure
JeremyMeissner May 11, 2022
1e79797
chore: add camera
JeremyMeissner May 12, 2022
548a88d
chore: change timeline logic
JeremyMeissner May 13, 2022
d5a1681
chore: remove loop/reverse
JeremyMeissner May 14, 2022
672470b
feat: angle supported
JeremyMeissner May 14, 2022
80ad23d
refactor: selector
JeremyMeissner May 15, 2022
029cb93
feat: color importation
JeremyMeissner May 16, 2022
1963b2b
refactor: timeline
JeremyMeissner May 16, 2022
432cd5f
refactor: timeline
JeremyMeissner May 17, 2022
053ccc0
refactor: remove unused code
JeremyMeissner May 18, 2022
a7cea3a
feat: add triangle
JeremyMeissner May 20, 2022
a0814c1
refactor: window class
JeremyMeissner May 23, 2022
6dba92e
chore: change d attr regex
JeremyMeissner May 25, 2022
172e538
chore: update shader
JeremyMeissner May 31, 2022
f520c1d
refactor: Renderer
JeremyMeissner Jun 1, 2022
cc7863c
fix: path drawing problem
JeremyMeissner Jun 2, 2022
e774ed9
chore: serialization
JeremyMeissner Jun 2, 2022
d153021
feat: serialization
JeremyMeissner Jun 2, 2022
860a7d2
fix: import form render
JeremyMeissner Jun 3, 2022
8a6c0b2
refactor: path structure
JeremyMeissner Jun 7, 2022
780e5b3
refactor: whole structure
JeremyMeissner Jun 8, 2022
b37ec4f
fix: picker filter reset
JeremyMeissner Jun 8, 2022
c9d0296
refactor: add comments
JeremyMeissner Jun 8, 2022
b585b8c
chore: remove useless close button
JeremyMeissner Jun 9, 2022
0808cba
refactor: whole structure
JeremyMeissner Jun 9, 2022
3666559
refactor: remove useless using
JeremyMeissner Jun 9, 2022
78bdd4c
Merge branch 'master' into 5-timeline-implementation
JeremyMeissner Jun 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: Renderer
  • Loading branch information
JeremyMeissner committed Jun 1, 2022
commit f520c1df9df16c709a4b437b424eacea40b9cb9a
6 changes: 3 additions & 3 deletions FreeFrame/Components/Shapes/SVGCircle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ public override List<Vector2i> GetSelectablePoints()

public override void ImplementObject()
{
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.DeleteObjects();
Vaos.Clear();
Renderers.Clear();

Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
Renderers.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
}

public override void Move(Vector2i position)
Expand Down
8 changes: 4 additions & 4 deletions FreeFrame/Components/Shapes/SVGLine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public SVGLine(int x1, int y1, int x2, int y2, string color)

ImplementObject();
}
public override float[] GetVertices() => new float[] { X, Y, Width + X, Height + Y }; // x, y, x, y, x, y, ... (clockwise)
public override float[] GetVertices() => new float[] { X, Y, X + Width, Y + Height }; // x, y, x, y, x, y, ... (clockwise)
public override uint[] GetVerticesIndexes() => new uint[] { 0, 1 }; // TODO: please dont hardcode
public override string ToString() => $"<line x1=\"{X}\" y1=\"{Y}\" x2=\"{Width + X}\" y2=\"{Height + Y}\" fill=\"{ColorToHexadecimal(Color)}\"/>";
public override List<Vector2i> GetSelectablePoints()
Expand All @@ -52,11 +52,11 @@ public override List<Vector2i> GetSelectablePoints()
}
public override void ImplementObject()
{
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.DeleteObjects();
Vaos.Clear();
Renderers.Clear();

Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Lines, this ));
Renderers.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Lines, this ));
}
public override void Move(Vector2i position)
{
Expand Down
4 changes: 2 additions & 2 deletions FreeFrame/Components/Shapes/SVGPath.cs
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,11 @@ public override void Move(Vector2i position)
attrType == typeof(SmoothQuadraticBezierCurveTo) ||
attrType == typeof(EllipticalArc))
{
Vaos.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.LineStrip, this));
Renderers.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.LineStrip, this));
}
else
{
Vaos.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.Lines, this));
Renderers.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.Lines, this));
}
attr.UpdateLast(); // Update Last's inner variables
}
Expand Down
8 changes: 4 additions & 4 deletions FreeFrame/Components/Shapes/SVGPolygon.cs
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,14 @@ public override uint[] GetVerticesIndexes()

public override void ImplementObject()
{
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.DeleteObjects();
Vaos.Clear();
Renderers.Clear();

if (_points.Count == 3) // Triangle
Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
Renderers.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
else
Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.LineLoop, this));
Renderers.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.LineLoop, this));

}

Expand Down
8 changes: 3 additions & 5 deletions FreeFrame/Components/Shapes/SVGRectangle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ public SVGRectangle(int width, int height, int x, int y, int rx, int ry, string
}
public override void ImplementObject()
{
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.DeleteObjects();
Vaos.Clear();
Renderers.Clear();

Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
Renderers.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
}
public override float[] GetVertices() => new float[] { X, Y, X + Width, Y, X + Width, Y + Height, X, Y + Height }; // x, y, x, y, x, y, ... (clockwise)
public override uint[] GetVerticesIndexes() => new uint[] { 0, 1, 2, 0, 2, 3 }; // TODO: please dont hardcode
Expand All @@ -58,8 +58,6 @@ public override string ToString()
return $"<rect x=\"{X}\" y=\"{Y}\" width=\"{Width}\" height=\"{Height}\" rx=\"{CornerRadius}\" ry=\"{CornerRadius}\" fill=\"{ColorToHexadecimal(Color)}\"/>";
}



public override List<Vector2i> GetSelectablePoints()
{
List<Vector2i> points = new();
Expand Down
14 changes: 7 additions & 7 deletions FreeFrame/Components/Shapes/Shape.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public abstract class Shape : IDrawable
Guid _id;
#endregion

private List<Renderer> vaos;
private List<Renderer> renderers;
public int X { get => _x; set => _x = value; }
public int Y { get => _y; set => _y = value; }
public int Width { get => _width; set => _width = Math.Max(0, value); }
Expand All @@ -31,37 +31,37 @@ public abstract class Shape : IDrawable
public bool IsCornerRadiusChangeable { get => _isCornerRadiusChangeable; set => _isCornerRadiusChangeable = value; }
public int CornerRadius { get => _cornerRadius; set => _cornerRadius = value; }
public Guid Id { get => _id; private set => _id = value; }
public List<Renderer> Vaos { get => vaos; protected set => vaos = value; }
public List<Renderer> Renderers { get => renderers; protected set => renderers = value; }
public string ShortId
{
get => Id.ToString().Substring(0, 6);
}
public Shape()
{
Vaos = new List<Renderer>();
Renderers = new List<Renderer>();
Color = Color4.Black;
Id = Guid.NewGuid();
}

public virtual void Draw(Vector2i clientSize)
{
//Console.WriteLine("Draw {0}, {1}, {2}", GetType().Name, Id, GetHashCode());
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.Draw(clientSize, Color, this);
}
public void DeleteObjects()
{
foreach (Renderer vao in Vaos)
foreach (Renderer vao in Renderers)
vao.DeleteObjects();
Vaos.Clear();
Renderers.Clear();
}
public Shape ShallowCopy() => (Shape)MemberwiseClone();
public Shape DeepCopy()
{
Shape shape = (Shape)MemberwiseClone();
shape.Id = Guid.NewGuid();
shape.DeleteObjects();
shape.Vaos = new List<Renderer>();
shape.Renderers = new List<Renderer>();
shape.ImplementObject();
return shape;
}
Expand Down
1 change: 0 additions & 1 deletion FreeFrame/Renderer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ public Renderer(PrimitiveType primitiveType)
_shader = new Shader("Shaders/shader.vert", "Shaders/shader.frag");
}

// TODO: rename this renderer?
public Renderer(float[] vertices, uint[] indexes, PrimitiveType primitiveType) : this(primitiveType)
{
ImplementObjects(vertices, indexes);
Expand Down
4 changes: 2 additions & 2 deletions FreeFrame/Window.cs
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ private void ShowUIDebug()

if (_selectedShape != null)
{
foreach (Renderer vao in _selectedShape.Vaos)
foreach (Renderer vao in _selectedShape.Renderers)
{
ImGui.Text(String.Format("VAO: {0}", vao.VertexArrayObjectID));
ImGui.Text(String.Format("VBO: {0}", vao.VertexBufferObjectID));
Expand Down Expand Up @@ -515,7 +515,7 @@ private void ShowUIDebug()
ImGui.Text(string.Format("{0}", shapes.Value[row].GetType().Name));
ImGui.Text(string.Format("{0}", shapes.Value[row].Id));
ImGui.Text(string.Format("{0}", shapes.Value[row].GetHashCode()));
foreach (Renderer vao in shapes.Value[row].Vaos)
foreach (Renderer vao in shapes.Value[row].Renderers)
{
ImGui.Text(String.Format("VAO: {0}", vao.VertexArrayObjectID));
ImGui.Text(String.Format("VBO: {0}", vao.VertexBufferObjectID));
Expand Down