Skip to content

Commit 8ef4006

Browse files
authored
Merge pull request #1 from Devsh-Graphics-Programming/new_subsites
new subpages
2 parents 82a5cd9 + a456088 commit 8ef4006

File tree

7 files changed

+178
-6
lines changed

7 files changed

+178
-6
lines changed

app/about/ContactEmail.tsx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"use client"
2+
3+
import { useEffect, useState } from "react"
4+
import { motion } from "framer-motion";
5+
6+
export default function ContactEmail() {
7+
const [isShown, setIsShown] = useState<boolean>(false);
8+
const [email, setEmail] = useState<string>()
9+
10+
useEffect(() => {
11+
setEmail(isShown ? "newclients@devsh.eu" : "");
12+
}, [isShown])
13+
14+
return (
15+
<motion.div
16+
onHoverStart={() => setIsShown(true)}
17+
onHoverEnd={() => setIsShown(false)}
18+
className="px-2 border border-[#181818] rounded-md">
19+
{isShown ? email : "Hover your cursor on this text to show"}
20+
</motion.div>
21+
)
22+
}

app/about/page.tsx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import Link from "next/link"
2+
import TextBlock from "../components/TextBlock"
3+
import ContactEmail from "./ContactEmail"
4+
5+
export default function Page() {
6+
return (
7+
<div className="container mx-auto p-4 flex flex-col gap-4 sm:gap-8 sm:items-center h-full justify-center">
8+
<h1>About Us</h1>
9+
<TextBlock>
10+
DevSH Graphics Programming (DevSH) sp. z o.o. ( devsh.eu ) is a company specializing in High
11+
Performance Computing with a particular focus on Computer Graphics and GPU Programming.
12+
Currently boasting a team of 10 Consultants and 3 separate concurrent projects.
13+
We offer consulting and co-development to Third Parties with their own products, as well as con-
14+
duct our own Research and Development, developing Open-Source Middleware and Libraries.
15+
The primary mission for all of our self-funded developments is to advance open source ecosys-
16+
tems with innovative tooling, with a particular focus on Vulkan and SPIR-V.
17+
We maintain a single source HLSL202x/C++20 Standard Template Header Only Library and our
18+
Utility and Rapid Prototyping Framework <Link href="https://github.com/Devsh-Graphics-Programming/Nabla" target="_blank" rel="noopener noreferer" className="no-underline text-teal-600 devsh-link">Nabla</Link> designed {/*this prevents visual bug, "designed must stay here"*/}
19+
to give a CUDA-like programming experience in the Vulkan ecosystem.
20+
We’ve honed the culture of remote work, since the company’s inception before 2019. Subject to
21+
availability of consultants and specific expertise required their regular working hours overlap the
22+
normal working hours from San Francisco to Sydney.
23+
</TextBlock>
24+
<h1>Contact</h1>
25+
<TextBlock>
26+
You can contact us at e-mail address <ContactEmail/>
27+
</TextBlock>
28+
</div>
29+
)
30+
}

app/components/Navbar.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ type Link = {
1313

1414
const links: Link[] = [
1515
{ name: "Home", url: "/" },
16-
{ name: "Nabla", url: "/nabla" },
17-
{ name: "Blog", url: "/blog" },
1816
{ name: "About", url: "/about" },
17+
{ name: "Nabla", url: "/nabla" },
1918
{ name: "Services", url: "/services" },
20-
{ name: "Contact", url: "/contact" }
19+
{ name: "Blog", url: "/blog" },
2120
]
2221

2322
function DropdownIcon() {

app/globals.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,7 @@ body {
4242
p {
4343
@apply text-base sm:text-lg leading-relaxed
4444
}
45+
.devsh-link {
46+
@apply no-underline text-teal-600 hover:text-teal-300 transition-colors duration-300
47+
}
4548
}

app/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default function RootLayout({
5454
className={`${futuraPT.className} antialiased flex flex-col h-dvh`}
5555
>
5656
<Navbar/>
57-
<main className="h-full overflow-x-hidden overflow-y-auto">
57+
<main className="h-full overflow-x-hidden overflow-y-auto my-8">
5858
{children}
5959
</main>
6060
</body>

app/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import Link from "next/link";
21
import VulkanisedGallery from "./components/VulkanisedGallery";
2+
import Link from "next/link";
33

44
export default function Home() {
55
return (
66
<div className="container mx-auto p-4 flex flex-col gap-4 sm:gap-8 sm:items-center">
77
<h1>Website Under Construction</h1>
88
<h3>Check out our Vulkanised videos below</h3>
99
<VulkanisedGallery/>
10-
<h3>And <Link href="https://youtube.com/watch?v=L0i_cO1iSEM&t=9343" className="text-teal-300 hover:underline" target="_blank" rel="noopener noreferer">MINE GameDev video</Link></h3>
10+
<h3>and <Link href="https://youtube.com/watch?v=L0i_cO1iSEM&t=9343" className="devsh-link" target="_blank" rel="noopener noreferer">MINE GameDev video</Link></h3>
1111
</div>
1212
);
1313
}

app/services/page.tsx

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
import Link from "next/link"
2+
import TextBlock from "../components/TextBlock"
3+
4+
type PastProjectProps =
5+
{
6+
company: string,
7+
companyWebsite?: string,
8+
projects: React.ReactNode[]
9+
}
10+
11+
function PastProject({company, companyWebsite, projects}: PastProjectProps) {
12+
return (
13+
<div>
14+
<h3>
15+
For {companyWebsite ?
16+
<Link href={companyWebsite} target="_blank" rel="noopener noreferer" className="devsh-link">{company}</Link>
17+
: <>{company}</>
18+
}
19+
</h3>
20+
<ul className="list-disc list-inside pl-4 font-thin text-[#d1d5db] sm:text-sm md:text-md lg:text-lg xl:text-xl 2xl:text-2xl">
21+
{projects.map((project, index) => <li key={index}>{project}</li>)}
22+
</ul>
23+
</div>
24+
)
25+
}
26+
27+
function Chapter({title, children}: {title: string, children?: React.ReactNode}) {
28+
return (
29+
<div className="flex flex-col gap-4">
30+
<h1>{title}</h1>
31+
<div className="pl-2">
32+
{children}
33+
</div>
34+
</div>
35+
)
36+
}
37+
38+
export default function Page() {
39+
return (
40+
<div className="container mx-auto p-4 flex flex-col gap-4 sm:gap-8 h-full items-center">
41+
<div className="flex flex-col gap-4 md:gap-8">
42+
<Chapter title="Experience and Offer">
43+
<TextBlock>
44+
We have worked on several long-term projects for companies such as Build A World Aps., Imverse
45+
S.A., Ditt B.V., and Applications In CADD. We have also done Graphics Performance Appraisals and
46+
outsourced R&D for RELEX Solutions and Synera GmbH. Most of our work is in the CAD space,
47+
with occasional gamedev in between.
48+
We have also been active in the Khronos adjacent ecosystem, with contributions to Validation
49+
Layers, SPIR-V Cross, and over 100 bug reports and test cases for the DirectX Shader Compiler.
50+
We are 6 time Vulkanised conference speakers in the 2023 and 2024 years.
51+
Collectively we’re experienced in Vulkan, OpenGL (ES and WebGL included), DirectX12 and 11,
52+
CUDA, OpenCL, WebGPU, and NVN for GPU APIs as well as CMake, Docker, Jenkins, Python, SWIG,
53+
.Net7 and WASM, Emscripten, Typescript for build systems, CI/CD and language bindings.
54+
</TextBlock>
55+
</Chapter>
56+
<Chapter title="Past Projects">
57+
<div className="flex flex-col gap-8">
58+
<PastProject
59+
company="Ditt"
60+
companyWebsite="https://ditt.nl"
61+
projects={[
62+
<>Interactive GPU Path Tracer (OpenCL and OptiX) ingesting existing Mitsuba scenes</>,
63+
<>Maintenance of in-house interior design tool</>,
64+
<>Integration of new Real-Time rendering techniques for rapid previews in the design tool</>,
65+
<>Denoisers (AI, RWMC, etc.) and Image Processing (e.g. FFT Convolution Bloom)</>,
66+
<>Consulting w.r.t. existing Mitsuba render farm</>,
67+
<>Ongoing Vulkan Real-Time Path Tracer development</>
68+
]}
69+
/>
70+
<PastProject
71+
company="RELEX Solutions"
72+
companyWebsite="http://relexsolutions.com"
73+
projects={[
74+
<>Investigation of the new .Net 6 WASM and Blazor SDKs <Link className="devsh-link" href="http://github.com/Devsh-Graphics-Programming/JS-WASM-interop-benchmark">(example issues reported to Microsoft)</Link></>,
75+
<>Feasibility studies of TypeScript and C# interoperation and Unified Web & Native Renderer</>
76+
]}
77+
/>
78+
<PastProject
79+
company="Synera"
80+
companyWebsite="http://synera.io/"
81+
projects={[
82+
<>Deep performance analysis identifying Rendering bottlenecks on complex scenes</>,
83+
<>Plan of action and initial design for a new Renderer</>
84+
]}
85+
/>
86+
<PastProject
87+
company="Imverse S.A."
88+
projects={[
89+
<>GPGPU Consulting and Contracting to solve Computer Vision problems</>,
90+
<>GPU Accelerated Silhouette Carving from RGB+D real-time video inputs</>
91+
]}
92+
/>
93+
<PastProject
94+
company="Build A World Aps."
95+
projects={[
96+
<>Photogrammetry (generating point clouds from drone flythroughs)</>,
97+
<>LiDAR Point Cloud Processing and Volume Reconstruction (3D game worlds from aerial scans)</>,
98+
<>Maintaining and Extending the existing OpenGL engine</>,
99+
<>GLSL Shader Development (ocean simulation, particle simulation)</>,
100+
<>Distributed Networked Fluid Simulation</>,
101+
<>Physics Engine Development (high performance voxel connectivity for destruction)</>
102+
]}
103+
/>
104+
</div>
105+
</Chapter>
106+
<Chapter title="Conclusion">
107+
<TextBlock>
108+
We provide an unbeatable offering with consultants dedicated to your project while also benefit-
109+
ting from heavy 50%+ discounts on co-development and maintenance of Vulkan Utilities used in
110+
your project similar to those present in the CUDA space such as CUB.
111+
Finally our Consultants constantly benefit from each other’s experience and insights delivering
112+
solutions a step above those devisable in solitude, even if a project has a singular Consultant.
113+
</TextBlock>
114+
</Chapter>
115+
</div>
116+
</div>
117+
)
118+
}

0 commit comments

Comments
 (0)