Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your help!

We need 7 developers from Canada and 18 more from Australia to help us complete a research survey.

Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!


ryan20fun

Member Since 06 Oct 2010
Online Last Active Today, 02:04 AM

#5232178 Learning to create Art - by Riuthamus

Posted by ryan20fun on 01 June 2015 - 10:38 AM

Wifey has a macro lense for her nikon DSLR. She use to do photography in the philippines.

Nice, what equipment does she have?

I do some photography too, Mostly birds.

 

She use to do photography in the philippines.

Commercial?

If not she might want to read up on interlectual property and licensing.

Has she checked out Northlight Iamges? They have some really good articles there ( mostly about the business aspect and colour managment ).

 

I hope to get her some extra cash with some of my freelance work so she can get the newest camera stuff.

The latest and greatest is nice, But not needed.

Does she suffer from NAS? (Nikon Acquisition Syndrome? :) )

 

I wish you both good luck!




#5232142 Learning to create Art - by Riuthamus

Posted by ryan20fun on 01 June 2015 - 06:50 AM

What did you use to take those pictures?

The quality is good!




#5230846 Learning to create Art - by Riuthamus

Posted by ryan20fun on 25 May 2015 - 09:14 AM

Well, Atleast two people are interested :)

Been enjoying them!




#5226863 Collision & v-sync

Posted by ryan20fun on 02 May 2015 - 12:52 PM

While I don't know what's wrong with the collision resolving, But could you not push the play based on the collision normal and the penetration depth?

 

Have you looked into Bullet physics?, I found it easy to use once I spent about an hour or two looking at the demo's and online Docs and examples.

 

HTH

Ryan.




#5226862 priblems with tereain and assets

Posted by ryan20fun on 02 May 2015 - 12:48 PM

While I don't use Unity, Could there be a offset that can be applied to the camera ?

Does the camera sit the same amount under the terrain at different places?

 

HTH

Ryan.




#5219681 Logo Feedback

Posted by ryan20fun on 27 March 2015 - 12:59 PM

I thought it was some kind of circle with eyes and a six in the middle.

 

Could you make the outline of it more clear?, Just something to show the arms and legs a bit more so that it is more easily to see it for an anteater.

 

HTH

Ryan.




#5206580 Supporting Multiple DirectX Versions

Posted by ryan20fun on 25 January 2015 - 12:31 PM


 

For vertex buffers, D3D9 uses IDirect3DVertexBuffer9 while D3D11 uses ID3D11Buffer

 

What is the correct way to create a struct that handle both so I can use it in IRenderer?

 

Here is what I have right now:

struct EngineVertexBuffer
{
      ID3D11Buffer *D3D9_VB;
      IDirect3DVertexBuffer9 *D3D11_VB;
};

 

I would use two different implementations, But if you want to have one implementation to hold both versions for some reason then I would use a union and some type of global variable denotating which one to use.

 

So it would be:

class VertexBuffer : public GraphicsResource
{
  public:
     void*           GetObject() const;
     SomeVariable    GetVersion() const;

  private:
     union
     {
          ID3D11Buffer*             VB11;
          IDirect3DVertexBuffer9*   VB9;
     } u;
     SomeVariable     m_DirectXVersion;
}

HTH

Ryan.




#5206512 Supporting Multiple DirectX Versions

Posted by ryan20fun on 25 January 2015 - 12:34 AM

 

@cozzie: That's already what I have, now I'm not sure what the correct parameters that I should put here so I can support multiple version of DX:

IRenderer::createVertexBuffer(...);
IRenderer::createIndexBuffer(...);
IRenderer::draw(...);

I would say that you should start by doing a low level abstraction of the one you want your interface to emulate.

 

Right now I have a "ResourceCreator" class that you can get after you load the library(DLL), This in tern is used to create any type of resource that is supported.

 

An example of my index buffer's create method(I do need to make alowance for 2byte indices):

/*! This creates the vertex buffer with the specified number of elements and in the specified memory pool.
*
*	Parameters:
*		Elements	: The number of elements of length of sizeof( pIndices[ 0 ] ).
*		pIndices	: A pointer to the index data to use for creation.
*		Topology	: How the elements will be use to create the rendering surface.
*		Usage		: The usage pattern to apply to this resource.
*		CPUAccess	: What access should the CPU have to this resource.
*/
DLLEXPORT virtual HRESULT Create( const unsigned Elements, const unsigned* pIndices,
								  const PrimitiveTopology Topology = PrimitiveTopology::TriangleList,
								  const UsageType Usage = UsageType::Immutable,
								  const CPUAccess CPUAccess = CPUAccess::None ) = NOT_IMPLEMENTED;


And the vertex buffer:

/*! This creates the vertex buffer with the specified number of elements.
*
*	Parameters:
*		Elements	: The number of elements of length of Description.length().
*		Description	: The layout of each element in memory.
*		pVertices	: A pointer to the vertex data to use for creation.
*		Usage		: The usage pattern to apply to this resource.
*		CPUAccess	: What access should the CPU have to this resource.
*/
DLLEXPORT virtual HRESULT Create( const unsigned Elements, const Vertex::Layout Description,
								  const void* pVertices, UsageType Usage = UsageType::Immutable,
								  const CPUAccess CPUAccess = CPUAccess::None ) = NOT_IMPLEMENTED;

HTH

Ryan.




#5196642 Files

Posted by ryan20fun on 06 December 2014 - 11:16 AM

1. If I write  DATA1 that contains 4bytes for example and I want to return later and write exactly after that DATA1 i set the FilePointer to the sizeof(DATA1 ) of the sizeof(DATA1 ) + 1?

That seams right to me, But you could use some dummy data and a hex editor.

I use HxD to check my binary files.

 

2. WriteFile(  ... (char*)users[0] , sizeof(int)*users_number ) will start to write from element 0 to the last element of the vector because of the sizeof that tells where to stop or because the & operator? What about if I want only to write a single element to the file (like in the last line of the code) it will be ok (char*)sizes[0] or (char*)&sizes[0] with smaller size to write specified in the WriteFile argument ?

That would treat the value of users[0] as the char pointer.

And it would write as many bytes as you tell it to, Which you set correctly.

 

 

 

Some nitpicks:

 

I would advise you use C++ cast operators( static_cast, dynamic_cast, reinterpret_cast ) instead of C syle as they are searchable and I find them more readable.

 

Why does the "WriteFile" function have so many parameters?, Could you not just do the same as std::fstream( pointer, byte count ) ?
 

HTH

-Ryan.




#5194371 What heap wil dynamic memory be created on

Posted by ryan20fun on 24 November 2014 - 03:12 AM

Hello all.

 

I am busy working on makeing a vertual file system, And I've run into a problem that I may have been cruising around because all my DLL libraries are using the same platform toolset( And that means the same heap right? ).

That problem is: Who is responsible for deallocating the memory: Caller or Callee ?

 

So if I create a structure like so:

struct Blob
{
          unsigned char* pData;// std::vector< unsigned char > Data
          size_t Length;
};

(Would the vector dealoccate itself from the right heap?)

 

As far as I know if the structure was allocated on heap A and the caller is using Heap B and deallocates it there will be a crash or segfault or something, Right?

 

So the bottom line is: How do I make sure that the memory is deallocated from the right heap.

 

 

Am I correct in my understanding of dynamic memory here?

 

Many thanks

Ryan.




#5185951 Tutorial Series

Posted by ryan20fun on 09 October 2014 - 04:21 AM

Are you going to upload to YouTube like the "WoA II" journals ?

Because I generally don't watch videos online, I download them first and then go over them as needed smile.png




#5183419 3D Model Loading Problems

Posted by ryan20fun on 27 September 2014 - 11:28 PM

 

 

 

It is typical to see corrupted geometry when programming object importers / exporters. Winding order is the simplest of the problems to solve. Typically invalid output is result of triangles indexing wrong vertices.
 
Cheers!

I know that. But how could a professional 3d software give wrong indices or vertices? 
By the way, vs2012 model view failed to load the obj exported by max. But it worked well with blender's.
The 3D CAD tool 99 times out of 100 produces valid file(albit with there own tweak on some formats like DAE, wavefront object )
The problem most likely exists in your parser code, It is also posible that the CAD tool has produced a edge case with the file.
 
I would recomend that you use a tool like Assimp to do the heavy lifting for you and you just process the data from it.
It's what i do, And it saves me from the hassle of different 3D formats as it handles a nice variety of them.
 
Hope that helps smile.png
i don't know much about assimp.but i think i will have to go there some day. Is there any tutorial about assimp with d3d? If not , gl is fine

 

This ought to get you started.

If you need more help just ask, Or if you want I could post the code I am currently using(but that will change after some time next month due to grabage output when using multiple objects but I am sure that has to do with how I am handling the vertices though... )




#5132964 Bone Importing Basics

Posted by ryan20fun on 20 February 2014 - 08:27 AM

What do you mean by the "intersection point"? Remember, each "bones" is really a matrix, or a set of scale-rotation-translation data.

He probably means the point where the child/parent bone connect, Much like an armature from blender or max.




#5123488 ConLangs (Constructed Languages, Language Creation)

Posted by ryan20fun on 13 January 2014 - 11:53 PM

So how is it going ?

 

Can you give any tips ?, As i've looked at The language Construction Kit and don't understand a lot of it, Proberbly need to google the terms a bit more :(

And have you looked at other conlangs ?

 

I'm interested in the use of conlang's for alien species, As it would be nice to not have all species speaking english( like in mass effect ), But will probably with some type of "universal translater" for the player like in star trek )

 

Good luck with your conlang!




#4855830 C++ int beyond 2,147,483,647?

Posted by ryan20fun on 31 August 2011 - 05:49 AM


btw, is "log long" supposed to be "long long"? thought we were gonna use logarithms hehe.

Yes, it was most likely just a typo on his part; it's supposed to be "long long".


Yes, it was supposed to be long long.
will correct it now.




PARTNERS