Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
memes4lyfe

what would be the "3d" equivalent of Batch programming?

Recommended Posts

is there a programming language that DOESN'T require 5-10 words just to display text? (example of those languages is C++, Java, Ruby, Python, and other languages that even Einstein has trouble figuring out) like, a language that enables Texture Mapping and 3D graphics that don't confuse the crap out of beginners and can learn the basics of in seconds? (another example is Batch, but that one only does text) I'm looking for a programming language with the user friendliness of batch, and the power of C++ that displays 3D graphics and just needs 1 word to execute a command. NOT a language that uses an entire PARAGRAPH to just print out text. is there a language that even comes CLOSE?

Share this post


Link to post

There are libraries like SDL, PyGame and LWJGL to make life easier for making 3D applications. But no, AFAIK there's no language that will do what you're asking. There aren't any shortcuts for this kind of thing.

 

Here's a tip though, if you want a single command that does something complicated for you, just write a subroutine that does it elsewhere in your code, then you can call it as many times as you'd like without having to rewrite it all the time.

Share this post


Link to post

I'm currently researching Python. one would think that being an object oriented language, it doesn't require an entire book to just display text.

Share this post


Link to post

3d graphics aren't easy. sorry. I have no idea what to tell you.

 

There's no denying that modern APIs like Vulkan make it harder than it can be, but it turns out that this fuck complicated method happens to align with how GPUs work these days. Your example of drawing text in a 3D world is not the kind of specialized thing that GPUs are intended to do, instead the GPU makers expect you to do it yourself.

 

But why do you have to do it yourself? Well, it's because if the GPU has a way of drawing text, it might not work for every last situation of drawing text, maybe you want to do something it can't do. This eventually becomes a huge mess as they start hacking on more and more features, creating a huge mess for drawing text. By instead asking the developer to do these things themselves, they have to do a little more work but they can do whatever the fuck they want while drawing text.

 

That said, people have already done this work! I can't speak on your particular language, but there's plenty of text rendering things out there, many of which can draw fancy TTF fonts! You can search around for them, if you want. In addition, there might be libraries out there that abstract things and make it easy to draw things, but this will come at the cost of performance, perhaps.

Share this post


Link to post

You may be able to find some pre-built playground (Python with SDL, C# with MonoGame, etc) that would be similar to what you're looking for, but it will probably have questionable support and some weird areas where the abstraction breaks and suddenly you do have to care about everything going on under the hood.  What you're asking for doesn't really make sense because in order to make things super-simple like that you have to make a ton of assumptions that won't hold for every use case.

Share this post


Link to post

I think you're searching for a unicorn that doesn't and could never exist.

 

When you talk about batch programming you're talking about automation of what can be done by hand (instead of typing in commands, here's a script that runs them). The level of complexity is relatively low and if it's getting too complex then you're using the wrong tool.

 

By composition you've picked something from the extreme opposite of the scale. 3D rendering and texture mapping is a complex subject that is never going to be simple and you're never going to learn it "in seconds". Thest I can maybe recommend is trying to learn OpenGL with Python where things will operate at a relatively high level. But it's never going to be simple.

Share this post


Link to post
18 hours ago, memes4lyfe said:

is there a programming language that DOESN'T require 5-10 words just to display text? (example of those languages is C++, Java, Ruby, Python, and other languages that even Einstein has trouble figuring out) like, a language that enables Texture Mapping and 3D graphics that don't confuse the crap out of beginners and can learn the basics of in seconds? (another example is Batch, but that one only does text) I'm looking for a programming language with the user friendliness of batch, and the power of C++ that displays 3D graphics and just needs 1 word to execute a command. NOT a language that uses an entire PARAGRAPH to just print out text. is there a language that even comes CLOSE?

What you want is a programming language where there is a single instruction that means "read my mind and do what I want you to do". Until we perfect mind-reading machines -- and personally I do not think that perfecting them is a desirable goal for humanity, but if you think intellectual laziness makes living in a totalitarian dystopia where Google and Chinese Communist Party get to know exactly what you think at all time desirable, then less power for you, I guess -- this will not exist.

 

Batch is simple because it does simple things. Run a command, and then run another.

 

3D display is complex because you need to describe precisely what you want to display and how. Just to give a forum-related example, I could post here a dozen different screenshots of E1M1: Hangar, each with graphical differences caused by the fact that they come from different ports with different settings. Something a simple "print E1M1 screenshot" command could never ever do because it wouldn't have all these settings; you need to write a ton of paragraphs to describe them.

 

I oversimplify a bit but that's the gist of it. If you want to make a more complex task, one that can be done in a lot of different ways with myriad little tweaks possible, then you need to be more thorough in your description. Likewise, the instructions for building a kite are going to be much simpler than the instruction for building an airplane. You can't go "both are flying things so they should be as simple"; one if made of one bit of cloth, two sticks, and a string; while the other is made of thousands upon thousands of pieces, with extremely complex systems that must fulfill  extremely rigorous criteria.

 

Printing text in 3D is a complex issue. Where do you want the text to be printed? In what scale? In what font? With what orientation? What colors? What kerning?

PVOuqP0.gif

What, are you going to say you don't want your text to be displayed like this, with rotation and flashing colors? Then you'll have to be more descriptive. Maybe write a full paragraph to explain how your text should be displayed.

 

Yeah we're not talking about a command terminal where you get a fixed-width font and no choice at all. And if I felt like bothering, I could mock up a screenshot of some game with a lot of text on it (like, from an MMO so you have a lot of floating text over characters to show their names and what they're saying, plus text on the interface for spell names and stuff, and a chat window) and replace it with monospaced, unscaled, uncolored, unpositionned terminal font to see if it'd be "better". I can guarantee you that it wouldn't.

Edited by Gez

Share this post


Link to post

i think i'm going to start with a wire frame cube that rotates. if anyone can give me the syntax/command to do that in python, that would be great.

Share this post


Link to post
10 hours ago, memes4lyfe said:

i think i'm going to start with a wire frame cube that rotates. if anyone can give me the syntax/command to do that in python, that would be great.

 

Here's a nice little series I happened to run into a few days ago that explains the basics pretty nicely. It's in C++ but the concepts apply anywhere, and you should use them while figuring out the code Edward850 posted.

 

 

Edited by GuyMcBrofist

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×