diff --git a/package.json b/package.json
index bef44d3..6b88670 100755
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
},
"dependencies": {
"@material-ui/core": "^4.11.0",
+ "@material-ui/icons": "^4.11.2",
"@types/react": "^16.9.56",
"fontsource-roboto": "^3.0.3",
"hls.js": "^1.1.5",
diff --git a/src/GameProjects.jsx b/src/GameProjects.jsx
index 1862dad..5678101 100644
--- a/src/GameProjects.jsx
+++ b/src/GameProjects.jsx
@@ -13,34 +13,49 @@ import {
} from "@material-ui/core";
import Monq from "../static/images/Monq.jpg";
import Graphics from "../static/images/Graphics.png";
+import NewGraphics from "../static/images/NewGraphics.png";
class GameProjects extends Component {
constructor(props) {
super(props);
this.content = [
+ {
+ header: "Current Graphics Project",
+ subheader: "Happening alongside Assistent Lecturer - Falmouth University",
+ image: NewGraphics,
+ imageAltText: "Generated terrain",
+ content: `I'm currently working on a another graphics project as this
+ is the area of computing I want to get back into. I plan on
+ implementing much more complex generated terrain and other features
+ such as including a physics engine for a more complex character
+ controller and an entity system so I can implement other methods of
+ terrain traversal.`,
+ buttonText: "Read Blog",
+ buttonLink: "/graphics-blog",
+ },
{
header: "Monq",
subheader: "D-tail Entertainment - Programmer",
image: Monq,
imageAltText: "Monq",
- content: `Technically this was my first attempt at creating a startup with
-university friends. However we over scoped when it came to having an interesting
-platformer in a single year when it came to our USP of time mechanics and our
-artist's great work. This paired with a lack of design and writing put too much
-emphasis on the previously mentioned time mechanics without adequately designed
-levels to show that off nor create a hook to keep people interested in the game.`,
+ content: `This was my first time working in and creating a startup with
+ university friends. I mostly worked on ai aspects of the project as
+ well as working on some of the puzzle sections of the game. Though in
+ the doing it for real indie envirenment I had my hand in pretty much
+ every other programming aspect of the game also.`,
buttonText: "Learn More",
buttonLink: "https://d-tail-entertainment.itch.io/monq",
},
{
- header: "Graphics",
+ header: "University Graphics Project",
subheader: "Bsc (hons) Computing for Games - Falmouth University",
image: Graphics,
imageAltText: "Generated terrain",
content: `This is where I learned how to create a graphics engine from
-scratch using OpenGL and was the project which I enjoyed the most during my
-bachelors degree. I especially enjoyed how deep I jumped into C++ to improve it's
-memory footprint returning to this project in my final year of university.`,
+ scratch using OpenGL and was the project which I enjoyed the most
+ during my bachelors degree. I especially enjoyed how deep I jumped into
+ C++ to improve it's memory footprint returning to this project in my
+ final year of university.`,
buttonText: undefined,
buttonLink: undefined,
},
diff --git a/src/GraphicsBlog.jsx b/src/GraphicsBlog.jsx
new file mode 100644
index 0000000..0b17d63
--- /dev/null
+++ b/src/GraphicsBlog.jsx
@@ -0,0 +1,169 @@
+import { h, render, Component } from "preact";
+import {
+ Grid,
+ Container,
+ Card,
+ CardHeader,
+ CardMedia,
+ CardActions,
+ CardContent,
+ Typography,
+ Button,
+ List,
+ ListHeader,
+ ListItemIcon,
+ ListItem,
+} from "@material-ui/core";
+import ArrowRightIcon from '@material-ui/icons/ArrowRight';
+import Header from "./Header";
+
+import Blog1 from "../static/images/GraphicsBlog/blog1.png";
+const Blog2 = new URL("../static/video/graphics_blog/blog2.webm", import.meta.url);
+import Blog3 from "../static/images/GraphicsBlog/blog3.png";
+
+class GraphicsBlog extends Component {
+ constructor(props) {
+ super(props);
+ this.content = [
+ {
+ header: "SDL/OpenGL boilerplate",
+ subheader: "Note: this blog is a copy of a forum thread",
+ mediaType: "img",
+ image: Blog1,
+ imageAltText: "Textured square",
+ content: `Today I added textures to my game engine. Next up
+ refactoring... But then camera movement (Or strangely enough world
+ movement around camera).`,
+ buttonText: undefined,
+ buttonLink: undefined,
+ },
+ {
+ header: "Camera Movement",
+ subheader: "Note: this blog is a copy of a forum thread",
+ mediaType: "video",
+ image: Blog2,
+ imageAltText: "Textured square with camera movement",
+ content: `The project is now officially 3D, with camera movement. Next
+ up is more complex meshes.`,
+ buttonText: undefined,
+ buttonLink: undefined,
+ },
+ {
+ header: "Multiple Meshes",
+ subheader: "Note: this blog is a copy of a forum thread",
+ mediaType: "img",
+ image: Blog3,
+ imageAltText: "2 textured squares",
+ content: `Now I have a mesh class it's pretty easy to make multiple
+ objects reusing textures and indecies. Next it's giving those meshes
+ their own relative position rather than hard coding every position on
+ every triangle point to move it 🙃.`,
+ buttonText: undefined,
+ buttonLink: undefined,
+ },
+ ];
+ }
+
+ render = () => {
+ return (
+
+
+
+