Jump to content

  • Log In with Google      Sign In   
  • Create Account

sirpalee

Member Since 16 Apr 2007
Offline Last Active Yesterday, 11:49 PM

#5307287 Decent vector library for C?

Posted by on 22 August 2016 - 04:56 PM

I prefer eigen. It's header only, fast (heavily vectorized and lots of template magic to make all operations efficient), packed with features and works everywhere. There are some quirks to be learned, because it's more like a math library, rather than a gamedev / graphics one.




#5304808 Can Render Triangle And A Quad, But More Complex Shape Results In Segfault

Posted by on 08 August 2016 - 10:11 PM

You answer is a bit misleading, so was mine. Just to clarify this, to avoid issues in the future, the second parameter is the number of components for that element. Ie, for positions it's three because you have 3 components, xyz.


#5304562 Can Render Triangle And A Quad, But More Complex Shape Results In Segfault

Posted by on 07 August 2016 - 08:32 PM

Oh right, the second parameter is the number of components.

Also, op, you have to double check your classes. For example the mesh class does not cleanup the vbos and ibos when deleted. If those are managed by a different class, then it's a bad idea to store them on the mesh.


#5304547 Can Render Triangle And A Quad, But More Complex Shape Results In Segfault

Posted by on 07 August 2016 - 05:45 PM

Hey!

 

There might be other issues, but this is definitely one. The glVertexAttribPointer needs the offset in bytes (ie, the starting position inside your buffer for that attrib). So in your case, that's 3 * sizeof(float), rather than 3.




#5304309 Ide For Linux

Posted by on 06 August 2016 - 02:17 AM

I'm using CLion for all my c++ dev needs on linux, by far it's the best one. However since that's out of the question, try netbeans. It's relatively lightweight and works well. Not as fancy and fluid as CLion but definitely my second choice when it comes to c++ envs on linux.




#5302417 Help Deciding On New Language

Posted by on 24 July 2016 - 11:54 PM

Rust? It's the cool toy around these days, powerful language, compiles fast and safe code. There are some nice collections of libraries, which help starting from zero
(like piston).

Downside, you have to deal with complex things, like ownership, borrowing etc...


#5301442 Compilers

Posted by on 19 July 2016 - 07:46 PM

SSDs are pretty cheap nowadays, especially the sizes you need for an OS and couple of dev tools. It's an inexpensive way to improve the reaction times of your tools, so it's mostly safe to expect any devs to have one. If they don't, they can be considered exceptions.

Not all project organizations support that workflow. I will reiterate my earlier statement:

My work PC is a regular HDD due to various project-specific requirements.

I do actually have an SSD on my work PC, but it's much too small. Where would I get an >3TB SSD that's cheaper than an HDD?Also, smaller studios may not be able to spare the funds for such extravagances. Likewise, individuals may barely have enough funds available for a PC at all, never mind the latest and greatest. Beginners in particular often end up learning on old or underpowered hardware. Their needs and desires are as real as your own, exceptions though you may believe them to be (they are not). Don't make sweeping, dismissive statements that assume everyone's circumstances are the same as yours.I will now return to lurker mode before we go further off-topic and this devolves into a thread on socioeconomics and the finer points of project-specific development environment constraints.

I think you misunderstood my replies. I was using SSDs as an example, why IDE startup times does not matter. The project size, and or the project location has very little to do with that. Exception below.

Intellisense and such features could potentially need to parse your project at startup time (but most of the results are cached), so yeah if you have the code on an hdd, that's the only thing that slowes down when opening projects first.


#5301428 Compilers

Posted by on 19 July 2016 - 05:40 PM

I sense a lots of elitism in this comment.

Linux users. Can't live with 'em, can't :-( YOUR PC RAN INTO A PROBLEM AND NEEDS TO RESTART

I'm developing on linux at work, and I have a great c++ IDE (CLion) at hand. So it's not linux. :)

Anyway, we are diverging too much from the original question. The rule of thumb, always takr the easiest route, that still.let's you work efficiently. You gain back investments into tools surprisingly quickly.


#5301426 Compilers

Posted by on 19 July 2016 - 05:34 PM

when everybody has an SSD in their system.

False. My work PC is a regular HDD due to various project-specific requirements. Plus:1. not everyone can actually afford the latest and greatest PCs2. not everyone who can afford a newer PC, and has a newer PC, actually uses an SSD as their boot drive or program install drive.

SSDs are pretty cheap nowadays, especially the sizes you need for an OS and couple of dev tools. It's an inexpensive way to improve the reaction times of your tools, so it's mostly safe to expect any devs to have one. If they don't, they can be considered exceptions.

That's why I don't think IDE startup times matter. And even on an hdd, starting up VS doesn't take much time. Not to mention you are doing that once per a long coding session.


#5301330 Compilers

Posted by on 19 July 2016 - 03:49 AM

MinGW is also available for Windows 10, it is a port of the GCC (default compiler for most Linux distros). There is no IDE and everything is done through the command line, if you're into that sort of thing.
Advantages:
- no IDE means zero start-up time
- better C++ language standard compliance
- no pesky project settings to get lost in
- produces well-optimized code
- (optional) often possible to compile code written for a different platform, but only if you manage to install msys/binutils and such correctly
Disadvantages:
- your IDE is pretty much just notepad
- no microsoft-specific compiler extensions
- no project settings means you have to either manually enter the locations of all libraries and include directories, or get good at MAKE.
- makefiles targetting MinGW are rather more rare in the wild than VS project files, when dealing with projects downloaded from the internet.

 

I sense a lots of elitism in this comment.

 

Beginners, people new to c++ should go with the best IDE their platform has, and concentrate on the language (and compiler basics), before going down a route like this. Also, don't forget a good IDE significantly increases productivity, and that's really important in the beginning to avoid turning away the newcomer from a language, because it doesn't have good tooling.

 

Startup times also not significant, especially not nowadays, when everybody has an SSD in their system. Same things goes for advanced c++ features, beginners won't even understand a fraction of that.




#5294758 It's Time to Start

Posted by on 03 June 2016 - 12:41 AM

I would go for unreal or unity if I were you. Simply because they have a bigger community and pool of resources behind them. That's a significant factor while learning any new tech.




#5293714 Do you usually prefix your classes with the letter 'C' or something e...

Posted by on 26 May 2016 - 09:44 PM

I used to use the C prefix for classes, but not anymore. I find it completely unnecessary, especialy if you have a clear naming convention for variables, and functions that are not CamelCase




#5292397 Introducing Stanza: A New Optionally-Typed General Purpose Programming Langua...

Posted by on 18 May 2016 - 07:40 PM

 

But I don't have faith that any of these are true, after reading...

 

 

Indentation is important in Stanza programs. Be careful when trying out the examples.

And don't use tabs. Stanza won't let you. We don't like tabs.

 

Well, good for you. But this aggressive, inflammatory approach to user-friendliness just lost you an entire market of potential users who aren't even going to give the time of day to that attitude. It comes across as petty, and that's not something you want a reputation for. If you have a technical reason for blacklisting \t, put that in the documentation instead.

 

Also, don't forget that languages where identation changes behavior and is really important are extremely error prone.

 

Just a quick remark.

 

Does your language work in interpreted mode? Or can you execute it without precompiling? If your language non interpreted, you should compare the speed and it's advantages to precompiled languages, rather than scripting languages (where most of them are interpreted).

 

One other issue with new languages is usually the IDE support. Especially with intellisense, and all the fancy tools we get used to when using other programming languages. In my experience, a good IDE is usually the biggest factor for productivity. How is that for stanza?




#5290355 Vulkan FBX runner with inputs

Posted by on 05 May 2016 - 08:21 PM

First of all, decide what kind of display you'll want. How many meshes and what kinds of effects you want. If your main focus is just to display couple of raw meshes with simple shaders (ie your draw count will be low), you might not want to use vulkan, and just go for opengl.

The rest is straightforward for your platform of choice, get the fbx devkit, and display your data. Though the fbx api could be a mission. :) Depending on your target audience, you also might want to look into support animations from alembic. (that's more for the CG / VFX crowd though)


#5290201 Is it C# Territory?

Posted by on 05 May 2016 - 01:19 AM

I'm going to get lots of hate for this, but here it goes.

First of all, I've been developing CG applications for a while now, and I have lots of experience with writing stable, performant code.

The main reason why people use c++ is very simple, it's the best language that allows us to organize our code nicely and write high performance applications. Right now it's the only choice (c and asm is performant as well, but they make organizing your code harder). Basically everything else is slower, and we are talking about an industry where even 5% matters a lot. A lot.

Of course you could write the core of your application in c++ (where you need performance and also memory management), and create the ui / user interaction code in c#, you are free to do that. But you have to weigh the extra boilerplate code neede dfor interop. Some people could say, it's worth it, some people won't.

But for the core, go with c++. At this moment there isn't a stable enough alternative. Rust looks like a worthy competitor, but it's not as mature as c++. (tooling, enough people on the job market, generated binaries not as optimized as they could be etc..)




PARTNERS