TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Black Triangles (2014)

267 pointsby andricover 1 year ago

17 comments

segfaultbuserrover 1 year ago
&gt; <i>It wasn’t just that we’d managed to get a triangle onto the screen. That could be done in about a day. It was the journey the triangle had taken to get up on the screen. </i><p>If anyone wants to experience something like that today, just follow an introductory tutorial on Vulkan programming. Vulkan is a programming model that gives so much low-level control directly to programmers. As a result, this &quot;Hello Triangle&quot; example became (in)famous for its need to implement a skeleton of a full 3D engine in thousands of lines of code before you can render a triangle on the screen.<p><a href="https:&#x2F;&#x2F;vulkan-tutorial.com&#x2F;Drawing_a_triangle&#x2F;Setup&#x2F;Base_code" rel="nofollow noreferrer">https:&#x2F;&#x2F;vulkan-tutorial.com&#x2F;Drawing_a_triangle&#x2F;Setup&#x2F;Base_co...</a>
评论 #38773780 未加载
评论 #38778348 未加载
评论 #38773732 未加载
andaiover 1 year ago
Spent the last 4 days trying to get the raylib example game to run on my Android. Yesterday I changed course and got rawdrawandroid running instead. That was my black triangle (actually it was green heh), proof that my goal was actually possible. If rawdraw can build and run, so can raylib! I got raylib working shortly afterwards.<p>It&#x27;s funny I always thought C gamedev would be hard, I just didn&#x27;t think the hard part would be the &quot;hello world&quot;... I&#x27;m looking forward to actually building the game now!<p>(My experience is more like &quot;the triangle that should take a day&quot;, but I still thought it was relevant as a kind of major milestone that puts you in a qualitatively new reality where now you have an actual working thing you can fiddle with.)
ianbutlerover 1 year ago
I appreciate the concept, I had my own black triangle recently when I finished writing my own implementation of an adaptive radix tree that is highly concurrent and keeps hot paths in an LRU and loads everything else from disk.<p>Now when I circle back to my full text search extension for Postgres I can do so knowing I can replace my naive inverted index with something that gives like a 10% performance gain but more importantly significantly reduced and CONSTANT memory profile.<p>On it&#x27;s own however, it doesn&#x27;t seem to do much and unless you&#x27;re in the space you won&#x27;t appreciate why this is an interesting implementation.
评论 #38772231 未加载
nerdponxover 1 year ago
It&#x27;s good to have a name for this. I feel like my entire career has been &quot;black triangle&quot; problems, and it&#x27;s been a struggle to get recognized for that effort at times.
评论 #38775583 未加载
0xfffafaCrashover 1 year ago
One thing that’s interesting today is how in the corporate world, even in big tech companies where one might naively think black triangles with explanations might be appreciated by more technically literate managers, working on these sorts of building blocks for big wins will often actually result in projects and teams getting axed. I’ve seen serious attempts at innovation get thrown out the window a number of times in favor of shiny demo projects that demo well but can never go much further. Black triangle projects require time investments that at least big companies only rarely bet on despite being in possibly the best position to do so.<p>I think a part of it is that humans, or at least those that make their way into management, are in large part very visual creatures. If you can’t show them progress in a traditional visual way you sort of have to figure out some contortion to show some visual thing to use as a proxy of progress to keep the faith. Sometimes it can be achieved through selling some abstract progress metrics about work remaining (most often entirely detached from reality) but that only works so long.<p>More often you end up knowingly spending a large percentage of resources on vacuous side projects solely because they demo well to management in the short term — it’s a distraction but a way to keep the faith and the resources. I find it funny how much time and energy we’re willing to waste to play the game — paying the souped up visual taxes for decision makers, while doing the real work independently, often in the dark because we know management will react short sightedly to the black triangles.
评论 #38774344 未加载
评论 #38773993 未加载
评论 #38774752 未加载
评论 #38775735 未加载
评论 #38776315 未加载
评论 #38774993 未加载
评论 #38773891 未加载
orenlindseyover 1 year ago
The black triangles are also a lot more fulfilling than other problems. When you get the foundation of your project finished, it feels so good. And you know that you can start doing the fun stuff with relative ease now that the hard part is over.
bluedinoover 1 year ago
A long, long time ago:<p>Me: Look at this dot!<p>Mom: You put a dot on the screen?<p>Me: Yes! Now hit the keys! You can move it!
dekhnover 1 year ago
I used to write opengl screensavers for xscreensaver (glplanet and pulsar) and I have to admit, sometimes when working with opengl it would take me more than a day to just get a triangle (or sphere, my preferred primitive) to show up on the screen. Anything from an errant transform, to a mistaken feature bit (lighting, whatever) turned on&#x2F;off could make a huge difference. Once I could draw a quad I had everything required for pulsar, and once I could draw a sphere I had everything I needed for glplanet (although I later learned, I did get the projection math wrong the first time).
pmover 1 year ago
I had the pleasure of working with Jay doing the character illustrations on his indie space shooter, a couple of years before I started coding professionally. This was the article that always stayed with me, especially at times when progress was difficult (which became especially poignant 18 months ago with my ADHD diagnosis).<p>These days he works for a VR company, but his main creative activity has been writing sci-fi&#x2F;fantasy&#x2F;horror novels for some years now, and he has his own series.<p>PS. I was going to say this article was from way further back than 2014, but on reading the post it appears it was his own repost.
评论 #38776304 未加载
burrishover 1 year ago
My black triangle was making Suzane (blender monkey) appear on the screen.
评论 #38772846 未加载
jacquesmover 1 year ago
It helps to know that under the hood almost every serious game is a complete more-or-less real time operating system with its own IO, scheduler, memory management and various sub-processes relating to output generation and so on.<p>It was only after I wrote a couple of games that I realized that extracting this OS component would be worth the effort and after that making new games went substantially quicker.
评论 #38772313 未加载
评论 #38772550 未加载
082349872349872over 1 year ago
compare <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jo-ha-kyū" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jo-ha-kyū</a>
intrasightover 1 year ago
I refer to it as getting an ant tunnel through the mountain
peter_d_shermanover 1 year ago
&gt;&quot;It wasn’t just that we’d managed to get a <i>[black] triangle</i> onto the screen. That could be done in about a day. <i>It was the journey the triangle had taken to get up on the screen.</i>&quot;<p>Related concepts:<p>Egg of Columbus: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Egg_of_Columbus" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Egg_of_Columbus</a><p>Hindsight Bias: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hindsight_bias" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hindsight_bias</a>
gchamonliveover 1 year ago
This reminds me of yak shaving<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29879009">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=29879009</a>
wiz21cover 1 year ago
I get a white or black or any monochrome triangle whenever I try a new graphics stack. Every. Single. Time.
cybrexalphaover 1 year ago
So this is a 10-year old repost (2014), of an original article 10-years older than that (2004), describing and event that happened ten years before that (1994)?
评论 #38773455 未加载
评论 #38773899 未加载