|
ijustam posted:I've owned this thing for 4 years and kept it through 3 moves and I finally got around to doing something with it. Alternatively, find a discreet wireless remote you can operate blind, and try and convince people you've created said device. Or a device that detects burned cooking. Or a device that detects lies. Etc. Programmer Humor posted:Trying to make some trees. At first I thought I could model them on my own but ultimately I made a python script to have them procedurally generated in blender. Shalinor fucked around with this message at 00:02 on Oct 11, 2014 |
# ? Oct 10, 2014 23:55 |
|
|
# ? Jun 7, 2024 08:14 |
|
ijustam posted:I've owned this thing for 4 years and kept it through 3 moves and I finally got around to doing something with it. A giant, low-resolution thermometer/weather station display
|
# ? Oct 11, 2014 00:50 |
Hubis posted:A giant, low-resolution thermometer/weather station display "Hot" "Less hot" "Too cold"
|
|
# ? Oct 11, 2014 05:35 |
|
Shalinor posted:Look up l-systems, if you want to take that further. You can use them to generate trees that look extremely realistic, entirely procedurally (aside from entering their "DNA", which is purely logical/programmers can do it). Looks interesting, thanks.
|
# ? Oct 11, 2014 13:02 |
I get really excited over stupid ideas and it takes me a long time to realize they're stupid.
|
|
# ? Oct 11, 2014 19:10 |
|
Jo posted:I get really excited over stupid ideas and it takes me a long time to realize they're stupid. Perplexing resume fodder. Does it paste the face over yours automatically or do you have to interact with it?
|
# ? Oct 11, 2014 19:49 |
Newf posted:Perplexing resume fodder. Does it paste the face over yours automatically or do you have to interact with it? It's automatic. Really just an excuse to play with the FaceDetection API.
|
|
# ? Oct 11, 2014 19:51 |
|
Been working on an old school 2.5D fps engine the past few weekends. It's a ray caster, so I guess that makes it more closely related to Wolfenstein 3D's engine than the Doom or Build engines. It supports sloped floors and ceilings, sector over sector, and overlapping space so any vanilla Doom, Build, or Marathon engine level geometry should be supported by it. It's been pretty fun to work on so far. The part giving me the most trouble has been collision detection rather than the rendering engine.
|
# ? Oct 11, 2014 20:14 |
|
Jo posted:I get really excited over stupid ideas and it takes me a long time to realize they're stupid. EDIT: VV That's a good point, maybe use virtual lighting? Also the scale on the head is all wrong, which is disappointing. Shalinor fucked around with this message at 03:56 on Oct 12, 2014 |
# ? Oct 11, 2014 21:06 |
Shalinor posted:This is cool. I like how it makes you look like a tech guy with glasses. I gotta' work on the blending. Notice how the image on the left lost a bunch of the original vibrance.
|
|
# ? Oct 12, 2014 00:25 |
|
Before: After: Friend makes a request I deliver, though, it's not nearly as cool as replacing it with skeletons like I've seen. Also it turns "Social Justice Mage" into "Social Justice [random class name]"
|
# ? Oct 14, 2014 00:28 |
steckles posted:
BUILD or not, I am Ken Silverman's bitch when it comes to 2.5D games. Have you made the map editor, too, or are you just using levels from Marathon/Duke3D/Doom?
|
|
# ? Oct 14, 2014 18:26 |
|
Jo posted:BUILD or not, I am Ken Silverman's bitch when it comes to 2.5D games. Have you made the map editor, too, or are you just using levels from Marathon/Duke3D/Doom? Optimization has been an interesting task; Modern CPUs are such FP monsters that the limiting factor in engine performance isn't rendering the level, it's writing the pixels to the framebuffer. If I could get SDL to give me a screen surface ordered in columns rather than rows, it'd probably double the frame rate.
|
# ? Oct 14, 2014 19:59 |
|
steckles posted:Optimization has been an interesting task; Modern CPUs are such FP monsters that the limiting factor in engine performance isn't rendering the level, it's writing the pixels to the framebuffer. If I could get SDL to give me a screen surface ordered in columns rather than rows, it'd probably double the frame rate.
|
# ? Oct 14, 2014 20:39 |
|
steckles posted:The floor and ceiling geometry is imported from .obj models that meet very specific requirements. Walls are determined by the sector edges and the difference in height between each edge and its neighbours, if it has any. I modelled everything in Wings and textured it "in-game". Do what modern GPUs do and output in a "block-linear" pattern. Instead of going horizontally (bad for reuse): WWWW XXXX YYYY ZZZZ Or vertically (bad for write combining): WXYZ WXYZ WXYZ WXYZ DO a combination of the both: WWXX WWXX WWXX WWXX YYZZ YYZZ YYZZ YYZZ (where the number of outputs you do along a given "row" is determined by your memory architecture. You can just experiment with it).
|
# ? Oct 14, 2014 20:54 |
|
Hubis posted:Do what modern GPUs do and output in a "block-linear" pattern....
|
# ? Oct 14, 2014 23:50 |
|
steckles posted:Yeah, I was considering something like that. Although, I'm not entirely sure how I'd go about doing it given the nature of the rendering algorithm. From what I recall from reading relevant articles, the ray casting for build-style engines works by ray casting once per column of pixels then figuring out the hit and calculating the extent of the wall surface based on perspective projection. You could do something along the lines of caching hits for each column then determining the color values on a row-by-row basis in a second pass. Or dump everything into an OpenGL texture and upload once per frame for display...
|
# ? Oct 15, 2014 01:07 |
|
I don't know anything about 3D engines. Why is a column of pixels a better format for you to work with?
|
# ? Oct 15, 2014 06:41 |
|
shodanjr_gr posted:From what I recall from reading relevant articles, the ray casting for build-style engines works by ray casting once per column of pixels then figuring out the hit and calculating the extent of the wall surface based on perspective projection. You could do something along the lines of caching hits for each column then determining the color values on a row-by-row basis in a second pass. Or dump everything into an OpenGL texture and upload once per frame for display... Suspicious Dish posted:I don't know anything about 3D engines. Why is a column of pixels a better format for you to work with? code:
code:
The renderer also has a double sized mode for extra-old-school goodness. Changing the order that the double sized framebuffer gets copied to the surface from this: code:
code:
|
# ? Oct 15, 2014 08:12 |
|
Right, I was just curious why the rasterizer was emitting pixels in columns rather than rows.
|
# ? Oct 15, 2014 08:34 |
|
Why not draw the image in an SDL surface rotated 90 degrees so you do have contiguous pixels, then blit it to the display using the (AFAIK) graphic hardware accelerated SDL_RenderCopyEx with the angle set to return it to upright?
|
# ? Oct 15, 2014 15:15 |
|
One Eye Open posted:Why not draw the image in an SDL surface rotated 90 degrees so you do have contiguous pixels, then blit it to the display using the (AFAIK) graphic hardware accelerated SDL_RenderCopyEx with the angle set to return it to upright?
|
# ? Oct 15, 2014 18:49 |
|
steckles posted:This causes trouble for the CPU, because it's always unlikely to have the parts of the surface that we would want to write to in cache. That's important but I would think that if you are depositing computed color values directly into the frame buffer via whatever blitting API SDL gives you, chances are you are losing the vast majority of your performance to driver/window system overhead and there's no reason to do that (unless of course you're trying to stay close to the "old-school" way of implementing such an engine). What's your performance like if you compute the entire frame and just give the full thing to your window toolkit for presentation?
|
# ? Oct 15, 2014 20:06 |
|
shodanjr_gr posted:What's your performance like if you compute the entire frame and just give the full thing to your window toolkit for presentation? Performance isn't terrible as is, it manages well over 100 fps at 1280x720. steckles fucked around with this message at 00:08 on Oct 16, 2014 |
# ? Oct 15, 2014 20:52 |
|
https://magcius.github.io/xplain/article/composite.html Just spent the evening writing this article. It's half-done, but it's already getting a bit too long I think. Was it understandable, did it make sense? If you're missing context, try reading the first other few articles in the series: https://magcius.github.io/xplain/article/
|
# ? Oct 16, 2014 10:56 |
|
Texas Instruments just did a project spotlight blog post on BeagleSNES: http://e2e.ti.com/group/launchyourdesign/b/blog/archive/2014/10/16/project-spotlight-beaglesnes.aspx I spent some time fighting with the device tree overlays for the 3.17 kernel to try and get HDMI audio to turn on for the BeagleBone Black. Much swearing has been going on. My kernel codebase is a Frankenstein-like mess of patches, and trying to get all the pieces playing with each other isn't the straightforward bit of engineering that I'd like it to be. But, if I can get this thing limping along, I can finally get some OpenGL ES support going. Finally. I also got ADB working for my BBBAndroid distro and am being asked for wi-fi support and accelerated OpenGL ES. It never ends! I looked at adding a BBB target for EGL to SDL2, but for now I think that I'll have the OpenGL ES support by initializing the framebuffer with SDL 1.2 and then calling the vendor-specific functions to create a framebuffer EGL context to render to. It'll be messy, but initial testing looks promising. I also just wrapped up writing another chapter on a BeagleBone Black book that I've been working on.
|
# ? Oct 16, 2014 21:04 |
|
I made a higher quality GIF replacement. I'm looking for cool source material to encode.
|
# ? Oct 17, 2014 10:06 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode. Sounds quite a lot like this: http://imgur.com/blog/2014/10/09/introducing-gifv/
|
# ? Oct 18, 2014 07:46 |
|
Hyvok posted:Sounds quite a lot like this: http://imgur.com/blog/2014/10/09/introducing-gifv/ GIFV is basically just a HTML5 canvas playing an mp4 whereas Suspicious Dish works on Something Awful as a pure [img] if you didn't see (because it's an SVG with some tomfoolery hacked together to make it play animations streamed from jpgs) Edit: vvv High level description more like belongs in the trash. Jewel fucked around with this message at 09:37 on Oct 18, 2014 |
# ? Oct 18, 2014 08:04 |
|
That is loving radical. Based on the high level description by Jewel above, I like that better than gifv. Why play mp4 on a canvas when you can just embed the mp4 as video? (or extend video somehow if needed) edit: Yeah, I don't "get" gifv. In Chrome the gifv is pretty choppy for me sometimes, but this jsfiddle of a video tag works fine for the same purpose. http://jsfiddle.net/ok76v0p8/ glompix fucked around with this message at 09:39 on Oct 18, 2014 |
# ? Oct 18, 2014 09:35 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode. I like how you can custom set durations on each frame in the markup and I'm tempted to write something that randomly scrambles the begin values and adds an assortment of styling rules to the image tags themselves. Heck, seeing as it's SVG you could probably use it as a way to add text and witty subtitles to it easier as well.
|
# ? Oct 18, 2014 12:04 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode. I guess Star Citizen would make for some decent videos.
|
# ? Oct 18, 2014 12:14 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode.
|
# ? Oct 18, 2014 15:54 |
|
SupSuper posted:Seems to have some issues on Chrome: img vs. timg: Scrolling the page messes slightly with the timg, but not as much as the img.
|
# ? Oct 18, 2014 16:31 |
|
Those both look exactly the same for me. No issues with the first one posted either. Chrome Version 37.0.2062.124 m e: I take that back! Now it's doing the error thing all of a sudden. Weeeeeird.
|
# ? Oct 18, 2014 16:51 |
|
mine only works correctly when all the images in view are the same size. might have to do with the amount of animated svgs on the page??
|
# ? Oct 18, 2014 20:24 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode.
|
# ? Oct 18, 2014 21:10 |
|
Suspicious Dish posted:I made a higher quality GIF replacement. I'm looking for cool source material to encode. This is extremely clever. I want to know more about your encoder.
|
# ? Oct 18, 2014 22:41 |
|
ffmpeg to convert the video into an image sequence, then I go into the directory and delete the frames that don't matter. Then I run imagemagick over them to compress them to some quality that looks good. Then I run a custom .py file which I modify by hand to give it the width/height and frames. After that, I run it through gzip to get the final compressed file. Here's the one for distance.xng.Python code:
|
# ? Oct 18, 2014 22:45 |
|
|
# ? Jun 7, 2024 08:14 |
You're on HackerNews!
|
|
# ? Oct 18, 2014 23:30 |