Customizing environment on Windows (separate build paths)

First of all this title is a little misleading, but due to lack of better idea I decided to leave it as it is.

What this article is about (brief explanation)?
When You build an application most of the IDE (of Your choice) set up for You automatically system variables, like system “path” variable for example. That’s allow IDE to find appropriate libraries and use/link them. For example I use QtCreator to build Qt application and on application start up QtCreator set up system “path” variable and adds path to QtSDK, i.e. “c:\Qt”. That way when I press “run” in IDE application finds all dependences (dll) and runs fine. Problem starts when I close QtCreator, due to unset path variables, I can’t no longer run my application (at least not when path variables don’t point to the QtSDK directory with libraries). Read the rest of this entry »

, , ,

No Comments

distance measurement [3DS Max Script]

distanceFromCamer
This is a simple script for 3DS Max that measure distance between camera and selected object.
It came really hand when You work with the, for example, DOF or some XSI ink shader that uses distance values to perform some actions. Normally taper is used for this task but it’s an hassle to set it up. I wanted something really fast.
Read the rest of this entry »

, , , ,

No Comments

Compressing – Decompressing web GZIP stream

Compressing and decompressing is one of the essential task when dealing with the web oriented programming. Qt allow to manipulate compressed data stream using qUncompress/qCompress functions, but they are problematic and don’t really helps much. From my experience, with these functions, it’s practically impossible to decompress gzip stream (although I can be wrong on this one, and maybe there is a way – never say never) . Read the rest of this entry »

, , , , ,

No Comments

QtThreads are not scary! – part 1 – How not to write It

From my experience QThread class can be somewhat confusing to use. Mostly due to how they work, not because they are hard, so here is a short explanation what and how to use threads in qT.
In the first place why to use threads? Threads are useful for heavy duty or computation expensive tasks that cause GUI to freeze. In example video compression takes a long time and is very CPU intensive. If that task is run on the same thread as you main GUI, in main application thread, program don’t receive events and operating system mark it as non responsive. Of course, if application is well written, after video compression GUI “unfreeze” and program works fine after that. This behaviour is not expected, because user don’t rally know if program works correctly or not. Read the rest of this entry »

, , , , ,

No Comments

Qt licensing style for You

Licensing is somewhat confusing when it comes to Qt. There are few kinds of license that You can choose from, and depending on the specific of distribution of Your software it can become somewhat confusing.

Read the rest of this entry »

,

No Comments

Static qT compilation and mingwm10.dll (MinGW) confusion.

After some reading, on the web, about MinGW compiler It comes to my attention that using static qT build without mingwm10.dll could cause memory leeks. That’s due to specific job that mingwm10 perform, with is catch dying threads and clean up data after them and handle exception in code. This is probably the reason, why by default, MinGW links that library in the first place. Read the rest of this entry »

, , , , ,

No Comments

[qT] Remove items from model and list

Removing items from views can be somewhat troublesome. Not because it is hard, but because the idea behind it is part of more wide subject, with is MVC (Model View Controller). It nutshell Model is something like database, that store all the information that can be later displayed by Views. View is visual representation of model, it can be i.e. ListView, TableView, or ListWidgetView and so on. Read the rest of this entry »

, , , ,

No Comments

How to prevent Windows registry corruption

I want to point out that this text is not “how to fix” error itself, but the idea of how to prevent or protect yourself from that kind of errors.bsod

Few days ago while Windows startup I stumble upon BSOD (Blue Screen of Death). Main problem was registry corruption that could occur because of HDD hardware malfunction (i.e. bad block) or many other reasons.  Read the rest of this entry »

,

No Comments

Disassembly LCD matrix on Compal FL90 laptop

A few days ago I noticed a bug (more like a small worm) on my LCD screen. First attempt to take it off failed, and I soon realized it was under my screen. Strange thing was that when i poke my screen with finger worm started to move. Unfortunately for me in that process (poking screen to “corner” it) i manage to kill it (or he just stuck in bottom corner of screen). In the end I got black area, similar to dead pixels.

Read the rest of this entry »

, ,

No Comments

“Distributed Bucket Rendering” in Autodesk 3DS Max

Creating advanced 3D scenes is really hard, especially when poly count start to reach thousands faces and everything slows down. Test renders take like minutes to complete.

I’ve got three computers, so I thought to myself why not to use them all at once?  After some search I found a solution, in “3ds max” help files, which is “Backburner”. It’s basically software that allows you to build “render farm”. You setup “servers” and “clients” that will do a rendering. Works fine, but that solution was not exactly what i searched for. Because deal with “Backburner”  is that, that you need to submit max file to render. After that, server redistribute pieces of frame/animation to “clients”, and saves output. It’s good solution if your work is done, so you can focus only on a rendering. Read the rest of this entry »

, , ,

No Comments